centos7安装jenkins

引言

jenkins安装大家可以按照jenkin官网的步骤直接执行就可以,如下图:
在这里插入图片描述
不过由于我想使用jdk8,因此采用自己下载安装包的方式进行

首先创建jenkins安装目录:

mkdir -p /usr/local/jenkins

然后下载安装包:

wget https://get.jenkins.io/war-stable/2.332.2/jenkins.war

如果下载慢的话,可以采用比如迅雷之类的下载工具,然后使用ftp工具上传到安装目录下

紧接着我们创建一个启动脚本

vi start-jenkins.sh

并将以下内容粘贴到该文件中

#!/bin/sh  
#  
#该脚本为Linux下启动java程序的通用脚本。即可以作为开机自启动service脚本被调用
#也可以作为启动java程序的独立脚本来使用。  
#  
#Author: tudaxia.com, Date: 2011/6/7  
#  
#警告!!!:该脚本stop部分使用系统kill命令来强制终止指定的java程序进程。  
#在杀死进程前,未作任何条件检查。在某些情况下,如程序正在进行文件或数据库写操作,  
#可能会造成数据丢失或数据不完整。如果必须要考虑到这类情况,则需要改写此脚本,  
#增加在执行kill命令前的一系列检查。  
#   
###################################  
# 以下这些注释设置可以被chkconfig命令读取   
# chkconfig: - 99 50   
# description: Java程序启动脚本   
# processname: test   
# config: 如果需要的话,可以配置   
###################################   
#  
###################################  
#环境变量及程序执行参数  
#需要根据实际环境以及Java程序名称来修改这些参数  
###################################  
#JDK所在路径  
#JAVA_HOME="/usr/local/java/jdk1.8.0_281"#执行程序启动所使用的系统用户,考虑到安全,推荐不使用root帐号  
#RUNNING_USER=bmsp#Java程序所在的目录(classes的上一级目录)  
APP_HOME=/usr/local/jenkins#需要启动的Java主程序(main方法类)  
APP_MAINCLASS=jenkins.war#拼凑完整的classpath参数,包括指定lib目录下所有的jar  
CLASSPATH=$APP_HOME/classes  
for i in "$APP_HOME"/lib/*.jar; do  CLASSPATH="$CLASSPATH":"$i"  
done  #java虚拟机启动参数  
JAVA_OPTS="-ms1024m -mx1024m -Xmn256m -Djava.awt.headless=true -XX:MaxMetaspaceSize=512m -Djava.security.egd=file:/dev/../dev/urandom"###################################  
#(函数)判断程序是否已启动  
#  
#说明:  
#使用JDK自带的JPS命令及grep命令组合,准确查找pid  
#jps 加 l 参数,表示显示java的完整包路径  
#使用awk,分割出pid ($1部分),及Java程序名称($2部分)  
###################################  
#初始化psid变量(全局)  
psid=0  checkpid() {  javaps=`jps -l | grep $APP_MAINCLASS`if [ -n "$javaps" ]; then  psid=`echo $javaps | awk '{print $1}'`  else  psid=0  fi  
}  ###################################  
#(函数)启动程序  
#  
#说明:  
#1. 首先调用checkpid函数,刷新$psid全局变量  
#2. 如果程序已经启动($psid不等于0),则提示程序已启动  
#3. 如果程序没有被启动,则执行启动命令行  
#4. 启动命令执行后,再次调用checkpid函数  
#5. 如果步骤4的结果能够确认程序的pid,则打印[OK],否则打印[Failed]  
#注意:echo -n 表示打印字符后,不换行  
#注意: "nohup 某命令 >/dev/null 2>&1 &" 的用法  
###################################  
start() {  checkpid  if [ $psid -ne 0 ]; then  echo "================================"  echo "warn: $APP_MAINCLASS already started! (pid=$psid)"  echo "================================"  else  echo -n "Starting $APP_MAINCLASS ..."  nohup java $JAVA_OPTS -jar $APP_MAINCLASS --httpPort=8090 &#su - $RUNNING_USER -c "$JAVA_CMD"  checkpid  if [ $psid -ne 0 ]; then  echo "(pid=$psid) [OK]"  else  echo "[Failed]"  fi  fi  
}  ###################################  
#(函数)停止程序  
#  
#说明:  
#1. 首先调用checkpid函数,刷新$psid全局变量  
#2. 如果程序已经启动($psid不等于0),则开始执行停止,否则,提示程序未运行  
#3. 使用kill -9 pid命令进行强制杀死进程  
#4. 执行kill命令行紧接其后,马上查看上一句命令的返回值: $?  
#5. 如果步骤4的结果$?等于0,则打印[OK],否则打印[Failed]  
#6. 为了防止java程序被启动多次,这里增加反复检查进程,反复杀死的处理(递归调用stop)。  
#注意:echo -n 表示打印字符后,不换行  
#注意: 在shell编程中,"$?" 表示上一句命令或者一个函数的返回值  
###################################  
stop() {  checkpid  if [ $psid -ne 0 ]; then  echo -n "Stopping $APP_MAINCLASS ...(pid=$psid) "  # su - $RUNNING_USER -c "kill -9 $psid"  kill -9 $psidif [ $? -eq 0 ]; then  echo "[OK]"  else  echo "[Failed]"  fi  checkpid  if [ $psid -ne 0 ]; then  stop  fi  else  echo "================================"  echo "warn: $APP_MAINCLASS is not running"  echo "================================"  fi  
}  ###################################  
#(函数)检查程序运行状态  
#  
#说明:  
#1. 首先调用checkpid函数,刷新$psid全局变量  
#2. 如果程序已经启动($psid不等于0),则提示正在运行并表示出pid  
#3. 否则,提示程序未运行  
###################################  
status() {  checkpid  if [ $psid -ne 0 ];  then  echo "$APP_MAINCLASS is running! (pid=$psid)"  else  echo "$APP_MAINCLASS is not running"  fi  
}  ###################################  
#(函数)打印系统环境参数  
###################################  
info() {  echo "System Information:"  echo "****************************"  echo `head -n 1 /etc/issue`  echo `uname -a`  echo  echo `java -version`echo  echo "APP_HOME=$APP_HOME"  echo "APP_MAINCLASS=$APP_MAINCLASS"  echo "****************************"  
}  ###################################  
#读取脚本的第一个参数($1),进行判断  
#参数取值范围:{start|stop|restart|status|info}  
#如参数不在指定范围之内,则打印帮助信息  
###################################  
case "$1" in  'start')  start  ;;  'stop')  stop  ;;  'restart')  stop  start  ;;  'status')  status  ;;  'info')  info  ;;  *)  echo "Usage: $0 {start|stop|restart|status|info}"  exit 1  
esac  
exit 0  

记得要配置好jdk的环境变量,不然回启动失败

给启动脚本执行权限,并启动jenkins

chmod +x start-jenkins.sh
./start-jenkins.sh start

查看启动日志,看到初始化管理员密码数据即表示启动成功,copy对应的密码,通过ip+port方式进行访问,上面脚本中指定的端口为8090,我们在启动日志中也能够看到启动的端口为8090

在这里插入图片描述
当然,也可以通过日志文件查看

cat /root/.jenkins/secrets/initialAdminPassword

在这里插入图片描述

打开jenkins页面地址:localhost:8090

在这里插入图片描述
将刚查询到密码输入其中,即可解锁jenkins

在这里插入图片描述
下一篇文章介绍jenkins的配置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/16038.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

消息队列 - RocketMQ

1. 名词解释和概念 NameServer: 是一个无状态节点,可集群部署,节点之间无任何信息同步用于服务注册和发现,为 MQ 集群提供服务协调与治理记录并维护 Topic 和 Broker 的信息为生产者和消费者提供 Topic 的路由信息 无状态和有状…

就因为这7大误区,我自学好久,但编程迟迟不能入门!

学编程的误区 就因为这7大误区,自学编程迟迟不能入门! 觉得编程好难学的同学,评论区告诉我! 这一篇文章,告诉你。 我这么多年都踩过,哪些自学编程的坑! 如果你,也在自学编程&am…

港联证券|dmi指标的用法和实战技巧?

DMI指标是一种技术分析工具,可用于评估股票、期货和外汇市场的趋势强度。DMI指标由三条线组成,分别是DI(上升方向指标)、-DI(下降方向指标)和ADX(平均趋向指数)。在使用DMI指标之前&…

flutter开发实战-多语言flutter intl

flutter开发实战-多语言flutter intl 之前做的应用中有用到多语言,一直没有整理,这里整理一下多语言设置流程。 使用的是Android studio 一、flutter_intl 插件 使用Android studio安装flutter_intl 插件,更新或者安装flutter_intl 插件后…

HTML案例:滚动条下拉后导航栏有网格状效果

案例&#xff1a;在滚动条下拉的时候&#xff0c;导航栏是固定的&#xff0c;当下拉卷出的内容在导航条的范围内时&#xff0c;导航条的背景虚化为卷出的内容 固定定位的效果 需求效果&#xff1a; 1、HTML代码 <style>* {margin: 0;padding: 0;}nav {/* 固定定位 */pos…

用 Nginx 禁止国外 IP 访问我的网站...

先来说说为啥要写这篇文章&#xff0c;之前看了下 Nginx 的访问日志&#xff0c;发现每天有好多国外的 IP 地址来访问我的网站&#xff0c;并且访问的内容基本上都是恶意的。因此我决定禁止国外 IP 来访问我的网站。 想要实现这个功能有很多方法&#xff0c;下面我就来介绍基于…

PHP实战开发26-使用PHP生成图片验证码并进行校验

文章目录 一、前言二、什么是验证码&#xff1f;三、PHP生成验证码图像3.1 生成验证码文字3.2 创建图像并绘制验证码文字3.3 将验证码存储到Session中 四、前端使用jQuery验证输入4.1 步骤一&#xff1a;创建HTML结构和CSS样式4.2 使用jQuery发送AJAX请求进行校验4.3 步骤三&am…

docker的联合文件系统 UnionFS《深入docker底层原理》

介绍 docker最大的贡献就是定义了容器镜像的分层的存储格式&#xff0c;docker镜像技术的基础是联合文件系统(UnionFS)&#xff0c;其文件系统是分层的。这样既可以充分利用共享层&#xff0c;又可以减少存储空间占用。 联合挂载系统的工作原理&#xff1a;读&#xff1a;如果…

GPT API+自动化提高生产力

一、简介 一句话说明白&#xff0c;就是自动采集需求&#xff0c;通过GPT API传送给GPT&#xff0c;然后GPT加工后&#xff0c;输出结果&#xff0c;利用自动化工具进行回复/存储/发布&#xff0c;甚至调用手机硬件或者使用WEBHOOK&#xff0c;或者联动IFTTT触发智能硬件的应用…

计算机体系结构基础知识介绍之缓存性能的十大进阶优化之编译器优化和硬件预取(六)

优化七&#xff1a;编译器优化&#xff0c;降低miss率 处理器和主内存之间不断扩大的性能差距促使编译器编写者仔细检查内存层次结构&#xff0c;看看编译时优化是否可以提高性能。再次&#xff0c;研究分为指令缺失的改进和数据缺失的改进。接下来介绍的优化可以在许多现代编…

rocketMq消息队列原生api使用以及rocketMq整合springboot

rocketMq消息队列 文章目录 rocketMq消息队列一、RocketMQ原生API使用1、测试环境搭建2、RocketMQ的编程模型3、RocketMQ的消息样例3.1 基本样例3.2 顺序消息3.3 广播消息3.4 延迟消息3.5 批量消息3.6 过滤消息3.7 事务消息3.8 ACL权限控制 二、SpringBoot整合RocketMQ1、快速实…

某网站JS加密、OB混淆与CSS反爬实战分析

1. 写在前面 最近一段时间接触了一些小说网站的业务。发现很多的小说网站&#xff0c;甚至一些小站它们的安全防护措施做的都很到位&#xff01;例如上次说到的的五秒盾也是存在于一个小说小站。今天要讲的这个网站它集JS加密、ob混淆、CSS反爬于一体 目标站点&#xff1a; aH…