前言
记录分享下Jenkins的相关干货知识。分2-3篇来介绍Jenkins的安装部署以及使用。还是和以前一样,文章不介绍较多概念和细节,多介绍实践过程,以战代练,来供大家学习和理解Jenkins
概念
Jenkins是一个开源的自动化服务器,主要用于自动化软件开发过程中的构建、测试和部署任务。它使用Java编写,并提供了一个可扩展的插件生态系统,支持各种编程语言和工具。Jenkins支持持续集成(CI)和持续部署(CD)的概念,帮助开发团队更快地发布高质量的软件。
安装
下载
首先可以查看下Jenkins官网
如果条件允许,建议还是安装高版本甚至新版本的Jenkins,这会使得你在后面的插件安装中更方便点。但是不同版本的Jenkins和Java是有版本约束的。
Supported Java versions for the LTS release line are:
2.361.1 (September 2022) and newer
Java 11 or Java 17
2.346.1 (June 2022) and newer
Java 8, Java 11, or Java 17
2.164.1 (March 2019) and newer
Java 8 or Java 11
2.60.1 (June 2017) and newer
Java 8
1.625.1 (October 2015) and newer
Java 7
我的Java8,也就意味着只能用Jenkins版本在2.346及以下的。建议是2.346.x
我们这里下载Jenkins2.346.1(https://get.jenkins.io/war-stable/2.346.1/jenkins.war)来进行实验和学习。
安装
下载好war包,传到服务器后,记好war包的路径,晚点用的着。我们直接丢在root根目录下。
执行安装命令:
java -jar jenkins.war
安装结束会有个警告,告诉你该升级了,咱们只当它是个安装成功的标志。
Warning: You are running Jenkins on Java 1.8, support for which will end on or after September 1,Please refer to the documentation for details on upgrading to Java 11: https://www.jenkins.io
ect/upgrading-jenkins-java-version-8-to-11
Running from: /root/jenkins.war
安装就结束了,下面重点讲下启动。
启动
启动可以2种方法,命令行启动和服务启动。
通过命令行启停Jenkins(非service方式)
启动Jenkins:
使用java -jar jenkins.war
命令启动Jenkins时,该命令会在前台运行,并且会占用当前命令行窗口。如果希望Jenkins在后台运行,可以使用nohup
命令或将其放入脚本中,并使用&
将命令置于后台执行。例如:
nohup java -jar jenkins.war --httpPort=8080 &
这条命令会让Jenkins在后台运行,并将输出重定向到nohup.out
文件中。
停止Jenkins:
如果Jenkins是通过上述方式启动的,您可以通过查找Java进程的PID,并使用kill
命令来停止它。例如:
ps -ef | grep jenkins.war
# 找到Jenkins进程的PID,然后执行
kill -9 [PID]
通过systemctl
启停Jenkins(需要配置为service)
如果您希望使用systemctl
来管理Jenkins服务,您需要先将Jenkins配置为一个systemd服务。以下是一个基本的步骤说明:
验证路径及参数
如果参数正确,才有下文的服务文件。验证方法是用以下带路径的命令行尝试启动试试?
/usr/java/jdk-1.8-oracle-x64/bin/java -jar /root/jenkins.war --httpPort=8080 > jenkins_output.log 2>&1
然后查看jenkins_output.log
文件以获取详细的错误信息
创建Jenkins systemd服务文件:
在/etc/systemd/system/
目录下创建一个名为jenkins.service
的文件,并编辑它以包含类似以下内容:
[Unit]
Description=Jenkins Server
After=network.target
[Service]
#如果要自定义用户记得要先去赋权,我们用root就不需要
#User=jenkins
#Group=jenkins
Type=simple
ExecStart=/usr/java/jdk-1.8-oracle-x64/bin/java -jar /root/jenkins.war --httpPort=8080
Restart=on-failure
[Install]
WantedBy=multi-user.target
注意替换ExecStart中2个路径,分别是java的可执行性文件路径(也就是"$JAVA_HOME/bin/java"),后面一个路径就是之前下载的Jenkins WAR文件的实际路径。
完事重新加载systemd的配置,使其识别新创建的jenkins.service
文件:
sudo systemctl daemon-reload
然后就是我们熟悉的 systemctl命令了:
sudo systemctl enable jenkins
sudo systemctl start jenkins
sudo systemctl stop jenkins
启动若是不顺利,除了查询
sudo systemctl status jenkins -l
也还可以
journalctl -u jenkins.service
登录
Jenkins安装成与不成,最直接的当然是登录,我们访问http://ip:8080后,如下图能打开了,就恭喜你,安装成功了。
后续界面会问你输入管理员的密码,密码在/var/lib/jenkins/secrets/initialAdminPassword文件里
vi /var/lib/jenkins/secrets/initialAdminPassword
输入密码进去,就到了插件选择页面,这里注意不要安装插件
之所以“选择插件来安装”,是为了“不选择”,也就是下个插件选择页面中,啥也不选。因为选啥都会失败的。咱们不选,然后进入下一步,创建个用户到了管理控制台。
至此,我们的安装工作已经全部结束,下次我们开始介绍进入控制台后,如何安装插件。