前言
Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。
其扩展性非常强的软件,其功能主要通过插件来扩展。
准备
1. JDK
Jenkins要求java 8 ,本文用的是:Java version: 1.8.0_51
2. Maven
maven版本没有限制,本文用的是:apache-maven-3.5.0
https://archive.apache.org/dist/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz
3. Git
git同样没有限制,本文用的是:git version 2.9.4
,下载地址:https://mirrors.edge.kernel.org/pub/software/scm/git/
4. Tomcat
tomcat服务不是必须的,本文没有依靠tomcat启动Jenkins
安装Jenkins
1.下载Jenkins
只需下载war包即可,不需要放到tomcat目录下,下载地址:http://mirrors.jenkins.io/war-stable/latest/jenkins.war
2.启动Jenkins
# 将下载的jenkins.war放到目录 /Data/jenkins,在root用户启动
cd /Data/jenkins
# --httpPort是可选项 ,如果8080端口占用,可以通过此指定其他端口
java -jar jenkins.war --httpPort=8080
3. web界面安装配置
Jenkins的插件配置,任务部署都是在web配置完成的。
3.1 Unlock Jenkins和Admin用户
在浏览器打开 http://ip:port
注意:ip
为Jenkins所在的机器ip
,port
是启动Jenkins的端口
# Jenkins的初始密码在/root/.jenkins/secrets/initialAdminPassword文件中
cat /root/.jenkins/secrets/initialAdminPassword
可以选择下载推荐插件,也可以选择第二项,插件下载失败不要紧,继续下一步,之后可以手动下载插件。
特别需要注意的是:jenkins版本不要太低,否则与插件不兼容,会下载更新而卡住不动,特别是jenkins源是国外的,下载特别慢,经常会失败。
接下来,需要在Web页面中注册admin管理员用户:
Jenkins部署Gitlab项目
部署Gitlab项目时,要安装maven,git相关插件。
不要用ssh的方式去拉取gitlab代码,通过配置用户名密码的方式拉取代码。
首先需要到插件管理 > 高级选项中,将清华镜像源换上去。
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json
1.maven插件
2.gitlab插件
3.JDK+Git+maven配置
4.Gitlab生成Token
5.Jenkins配置Gitlab
点击上图中的添加,在jenkins中配置gitlab的token,点击Test Connection,会返回Success
6.创建一个新的项目
6.1新建项目
6.2 General
此处会选择在5步骤中配置的gitlab
6.3 源码管理
点击添加,将自己的gitlab用户名和密码填入,生成一个类型为Username with password的凭证,不报红色的错误就是通过。
6.4 构建触发器
6.5 Build配置
build配置的是mvn命令,还不知道mvn的必须上补习班了
6.6 Post Steps
Post Step中,选择Add post-build step > 执行shell,就会出现上图,支持写一些sh脚本,例如将war包移动到tomcat,并发布。
最后点击保存,就可以构建项目了。
6.7 构建项目
点击立即构建开始构建项目,结束后会有标示,红色=失败,黄色=不稳定,蓝色=成功。
点击正在构建的项目可以观察控制台输出,按照日志排查错误。