Jenkins 标准用法
CentOS安装、配置Jenkins
- Jenkins官网
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.reposudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.keyIf you've previously imported the key from Jenkins, the rpm --import will fail because you already have a key. Please ignore that and move on.yum install jenkins可能会因为网络原因失败很多次,不要着急,多试几次就好了。。。- 配置端口
vi /etc/sysconfig/jenkins ## Type: integer(0:65535) ## Default: 8080 ## ServiceRestart: jenkins # # Port Jenkins is listening on. # Set to -1 to disable # JENKINS_PORT="7070" - 配置权限,将默认用户修改为root;修改
JENKINS_JAVA_OPTIONS为-Xmx512m以限制Jenkins运行时占用的内存大小,如果不进行限制,可能会内存溢出导致构建失败vi /etc/sysconfig/jenkins ## Type: string ## Default: "jenkins" ## ServiceRestart: jenkins # # Unix user account that runs the Jenkins daemon # Be careful when you change this, as you need to update # permissions of $JENKINS_HOME and /var/log/jenkins. # JENKINS_USER="root" ## Type: string ## Default: "-Djava.awt.headless=true" ## ServiceRestart: jenkins # # Options to pass to java when running Jenkins. # # JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true" JENKINS_JAVA_OPTIONS="-Xmx512m" - 修改目录权限
chown -R root:root /var/lib/jenkins chown -R root:root /var/cache/jenkins chown -R root:root /var/log/jenkins - 启动
systemctl start jenkins.service执行
systemctl status jenkins.service查看服务器状态,如果出现启动失败,失败错误信息为Starting Jenkins bash:/usr/bin/java:No such file or directory是java环境配置的问题,找到jdk目录,创建软链接即可:ln -s /usr/lib/jdk1.8.0_292/bin/java /usr/bin/java - 第一次打开,需要执行命令查看默认密码
cat /var/lib/jenkins/secrets/initialAdminPassword - 选择安装推荐插件
- 插件安装完成以后创建管理员账户
- 安装完成
开始使用Jenkins
- 在
系统管理-->全局工具配置中对maven(maven的版本需要跟开发环境一致,否则可能编译不成功)、jdk、git等做配置- 查看JAVA_HOME位置 方法
********查询openjdk安装目录方法如下******** # which java /usr/bin/java # ls -lrt /usr/bin/java lrwxrwxrwx 1 root root 22 Apr 23 17:06 /usr/bin/java -> /etc/alternatives/java # ls -lrt /etc/alternatives/java lrwxrwxrwx 1 root root 73 Apr 23 17:06 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64/jre/bin/java -
配置gitlab公钥
xxxx@example.com 为自己的gitlab邮箱 生成密钥 # ssh-keygen -t rsa -C "xxxx@example.com" 展示密钥 # cat /root/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEjsmyREwXFAWHpHf5/IfyTNBlznsZDCYRfRKE+tyMrp5qgEjcIh6IFgvaJdgv7SJjDwAMk6S2xasV+IjWF0csRC3yrFGbcCCPv1yRrPCidyzpqZGFX/sNjkg6uJUsfDNeJKoaC60YUz1LsaRo5OCHvQJxthgWUaGgeycw5NHPnJVJVY7t0/jsC4zWyomENtqbBfGRpnTXWn8+wC6gbXd2ltXg5uXolZC4BaqeXphFvRLLljdhEjqvi75ZjlzwINk7smmwoS4arhnotSufl2NNhmVL9mLoSkM2l3LbE8L5yTx/C9dKHixMCGpYa1cTkva4c8XCShNtCmDm0yJ4AvdR xxxx@example.com在gitlab主页面中,依次点击
右上角头像 --> Settings --> SSH Keys,粘贴上面获得的公钥ssh-rsa - Jenkins,
右上角用户名 --> 凭据 --> 系统凭据,选择SSH Username with private key进行添加,将步骤2中的私钥id_rsa粘贴在Private Key中,UserName只是在Jenkins中方便在其他地方进行选择(不涉及其他平台所以可以随便取名字) Dashboard --> 新建任务- 源码管理选择Git,填写
Repository URL: git@xxxxx:xxx/xxxx.git,Credentials选择步骤3中的UserName相同的一个
- 源码管理选择Git,填写
- Jenkins安装插件
Git Parameter,为了配置git的相关参数 - 选中
参数化构建过程,选择git参数,然后配置git分支参数,名称Branch(自定义名字,起自己觉得有意义的) - 在
源码管理中选择git,在指定分支的时候写参数化构建过程中配置的参数$Branch -
在
构建环境中选择调用顶层 Maven 目标(英文名称Invoke top-level Maven targets)Maven 版本 选择在 全局工具配置 中配置的maven名称 目标 构建的指令 (看哪个可以用使用哪个吧) clean package -DskipTests clean package -Dmaven.test.skip=true clean install - Jenkins安装插件
Deploy to container,为了将代码放到tomcat容器中 -
在/usr/local/tomcat/apache-tomcat-8.5.41/conf/tomcat-user.xml中创建用户名和密码
<tomcat-users> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="tomcat@deployer" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status"/> </tomcat-users> - Jenkins,在
右上角用户名 --> 凭据 --> 系统凭据中添加Username with password,输入上面在tomcat中设定好的用户名和密码 -
构建后操作中选择Deploy war/ear to a containerWAR/EAR files target/*.war Context path /simpleerp Containers 选择步骤11中配置的内容,Tomcat URL 根据具体情况进行设置 http://localhost:8080关键节点
……….
Building in workspace /var/lib/jenkins/workspace/simpleerp
……….
[simpleerp] $ /usr/local/maven3.6.3/bin/mvn clean install
……….
WAR/EAR files : 指定输出的文件,如果有多个war包的情况下需要详细进行指定,这里只会生成一个war包,所以可以指定为*.war,相对的位置是输出目录simpleerp
Context path : 源代码及构建后输出的文件target/*.war所在的目录 - 应用
- 在
我的视图页面选择需要构建的工程,点击Build with Parameters,选择 Branch 开始构建
Jenkins卸载
- 关闭Jenkins服务
systemctl stop jenkins.service - 删除Jenkins套件
rpm -e jenkins - 查找是否还有Jenkins套件的依赖,有就删除
rpm -qa | grep jenkins - 删除系统中Jenkins相关的文件
rm -rf /etc/sysconfig/jenkins.rpmsave rm -rf /var/cache/jenkins/ rm -rf /var/lib/jenkins/ rm -rf /var/log/jenkins rm -rf /usr/lib/jenkins
遇到的问题
- [DeployPublisher][INFO] Build failed, project not deployed
原因: Jenkins运行时内存溢出导致Jenkins假死,导致构建失败;
解决方法: 修改Jenkins配置文件/etc/sysconfig/jenkins中的JENKINS_JAVA_OPTIONS,限制大小;
参考文档
- CentOS7安装配置Jenkins
- centos7安装jdk1.8.0并配置JAVA_HOME环境变量
- Centos7 SSH公钥生成及配置
- 通过jenkins自动部署war包到tomcat时遇到的一些问题
- jenkins假死
- centos7 彻底卸载jenkins
首页 > 学习总览 > 实用工具学习/提高效率 > Jenkins