Jenkins是目前相对主流的自动化部署工具,博主也是最近才开始研究这个自动化部署架构,结局还算完美。
安装部署过程中挖了一些坑,也踩过很多坑这边由于本人喜欢偷懒,所有的安装都是采用的yum安装的,这样可以免去配置path
yum install -y java
yum install -y git
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz
tar -zxvf apache-maven-3.6.0-bin.tar.gz
vim /etc/profile
#Maven Environment
export MAVEN_HOME=/usr/local/apache-maven-3.6.0
export PATH=$PATH:$MAVEN_HOME/bin
source /etc/profile
[root@gitlab ~]# mvn -v
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-25T02:41:47+08:00)
Maven home: /usr/local/apache-maven-3.6.0
Java version: 1.8.0_191, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-693.2.2.el7.x86_64", arch: "amd64", family: "unix"
两种安装方式,一种是yum安装,另一种是rpm包安装,推荐第二种,楼主亲测,阿里云5M带宽yum安装耗时2小时
- yum安装方式
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.key
yum install jenkins
- rpm包安装方式【
推荐
】
wget https://mirrors.shu.edu.cn/jenkins/redhat/jenkins-2.153-1.1.noarch.rpm
rpm -ivh jenkins-2.153-1.1.noarch.rpm
rpm -ql jenkins
vi /etc/sysconfig/jenkins
- 发现
JENKINS_USER="jenkins"
JENKINS_PORT="8080"
- 改为
JENKINS_USER="root"
JENKINS_PORT="8088"
service jenkins start
chkconfig jenkins on
cat /var/lib/jenkins/secrets/initialAdminPassword
PS:下载速度渣的一笔。。。等了1小时,有点怀疑5M带宽了
- 登录Jenkins进入欢迎页面,点击系统管理。
- 进入管理页面,点击Global Tool Configuration(全局工具配置)进入全局工具配置页面
通过yum,rpm安装的软件不需要配置,例如:java,git等等,类似maven自己jar包安装的,需要配置路径
根据自己实际情况安装
】Run Condition
Run Condition Extras
Config File Provider
Pipeline Maven Integration
Windows Slaves
ruby-runtime
External Monitor Job Type
Javadoc
Maven Integration
Conditional BuildStep
GitLab
Build Authorization Token Root
Parameterized Trigger
jQuery
Build Pipeline
Gitlab Hook
根据自己实际情况安装
】
- 登录Jenkins进入欢迎页面,点击系统管理。
- 进入管理页面,点击节点管理
- 进入节点管理,点击新建节点
- 根据实际情况添加凭据【
楼主密钥是private Key,如果是密码选择Username with Password
】
- 设置节点信息
- 启动代理
触发远程构建 (例如,使用脚本)
openssl rand -hex 12
- 如下配置:
URL:http://xxx.xxx.xxx.xxx:xxxx/buildByToken/build?job=项目名称&token=xxxxxxxxxxxxxx
- Trigger: 根据需要选择,这里我们使用默认的 Push events
- 测试Push
- 设置gitlab的账号密码
- 生成gitlab pull的pipeline语法
- 设置
分支
,选择token
,然后点击Generate Pipeline Script
- 具体代码[楼主是maven项目]
BUILDDIR="./"
node ('master'){
stage "pull code" #下载代码
git credentialsId: 'gitlab', url: 'https://xxxxxx.git'
}
- 设置access toekn
- 保存token
- 添加GitLab Api Token
- Jenkins设置Gitlab,进入到 Jenkins -> 系统管理 ->系统设置,滚动到Gitlab位置,点击添加,新增一个Gitlab connection
service jenkins stop
yum clean all
yum -y remove jenkins
rm -rf /var/cache/jenkins
rm -rf /var/lib/jenkins/