相关命令: 启动:service jenkins start
停止: service jenkins stop
#1. 安装
官方教程:Linux
添加jenkins仓库
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
dnf upgrade
dnf info jenkins #查看版本
安装
#新版jenkins不再支持oracle的jdk
dnf install java-17-openjdk
dnf install jenkins
#2. 配置参数
安装后,jenkins自动生成systemd服务,该服务可以配置各种参数:
systemctl edit jenkins
可以修改jenkins home目录和端口等
信息警告提示
如果修改了home目录,注意要同时修改jenkins用户的home目录。在jenkins停止的情况下执行:
usermod -d /new-home jenkins
主配置文件: /etc/sysconfig/jenkins,这些配置会被systemd中的参数覆盖。
#3. 初始化
systemctl enable jenkins.service
systemctl start jenkins
第一次启动的过程可能会比较长,start命令可能会超时退出,但jenkins服务可能还在启动中。
此时用浏览打开jenkins页面,如 http://host:port,等待启动完成后,会要求输入初始化密码。这个密码可在启动日志中找到,查看/var/log/messages。
验证密码后下一步是初始化插件,可选择推荐的插件,等待安装完成后创建第一个账号,就可以使用了。
#4. 配置及插件
#4.1 配置JDK
如果只使用一种JDK,可以不做配置,Jenkins会使用系统的默认java命令,比如/usr/bin/java。如果有多个JDK环境,可按如下方式做配置:
进入“系统管理”》“全局工具配置”,找到"JDK"部分。 新增JDK,填写别名,一般填写版本,填写JAVA_HOME。 最好不要自动安装,而是自行下载后放到统一的目录,如/opt/java或/usr/local/java。
由于新版jenkins只支持JDK11及以上,如果应用项目用的还是JDK8,必须在这个地方配置一个JDK8,并在创建任务时指定JDK版本(在General部分的最后)。
#4.2 配置Maven
最好是自行下载并安装最新版本的maven,并配置好conf/setting.xml。然后在Jenkins中加入配置:
进入“系统管理”》“全局工具配置”,找到"Maven"部分(最后面)。
新增Maven,填写名称,一般填写版本,填写MAVEN_HOME。
至于开头的“Maven 配置”部分,全部使用默认设置就行。
还需要安装“Maven Integration”插件,到“插件管理”界面,搜索"mava"来安装,可以不重启jenkins。
#4.3 配置Git
先在系统中安装好Git客户端,如 dnf install git
。
进入“系统管理”》“全局工具配置”,找到"Git installations"部分,新增Git,填写名称和路径,一般是填写Default和git。
配置git账号
为安全起见,一般使用ssh密钥登录,配置步骤如下:
1. 创建一个密钥对:ssh-keygen -C "备注who" -f <key文件存储路径> 2. 将生成的公钥(.pub)的内容添加到gitlab的相关账号中 在gitlab中首先要创建一个账号,专门用来给jenkins拉取代码。 创建账号后,可模拟该账号登录,然后点击右上角账号下拉菜单,进入"Edit profile"页面添加公钥。 3. 将生成的私钥内容添加到Jenkins的凭据中 进入“系统管理”》“安全”》“Credentials”,点击“全局”,点击“Add Credentials”, 类型选择“SSH Username with private key”,id是自定义,如"gitlab-ssh", 用户名输入第2步中的gitlab账号,如"jenkins",最后填入"Private Key"。
为了保存jenkins服务器能通过ssh连接上gitlab服务器,必须先在jenkins用户的known_hosts文件中添加gitlab服务器的指纹。
可以先将jenkins用户设置为可登录,然后切换到jenkins用户,使用ssh -i /key_path -T git@xxx.com 测试连接,同时自动更新known_hosts文件。
也可以用其它用户使用相同的命令连接gitlab服务器,更新该用户的known_hosts文件后,再将该文件里面的相关指纹配置手动添加到jenkins用户的known_hosts文件中。
#4.4 配置角色权限插件
进入“系统管理”》“插件管理”》可用插件,输入"role"搜索,安装"Role-based Authorization Strategy"插件。
-
进入“系统管理”》“全局安全配置”,找到“授权策略”,选择“Role-Based Strategy”,保存。
-
进入“系统管理”》"Mange and Assign Roles",配置角色,添加用户与角色关联。