jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle
1 安装
在ubuntu上使用docker安装
1.1 环境安装
jdk
官网下载对应版本Java Downloads | Oracle
这里选择x64.tar.gz
在ubuntu中解压到usr/local目录下
bash
tar -zxvf jdk-8u371-linux-x64.tar.gz -C /usr/local
配置环境变量
bash
vim /etc/profile
#追加
export JAVA_HOME=/usr/local/jdk1.8.0_371
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export JRE_HOME=$JAVA_HOME/jre
#生效
source /etc/profile
#验证
java -version
maven
官网下载对应版本maven download
选择bin.tar.gz
解压到usr/local
bash
tar -zxvf maven.tar.gz -C /usr/local
编辑setting.xml
bash
#进入maven->conf目录
#编辑settings.xml
vim settings.xml
#增加mirror
<mirror>
<id>nexus-aliyun</id>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
#编辑jdk1.8 编译插件
#在profiles中增加
<profile>
<id>jdk8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
#在settings中增加
<activeProfiles>
<activeProfile>jdk8</activeProfile>
</activeProfiles>
#环境变量
vim /etc/profile
#追加
export M2_HOME=/usr/local/apache-maven-3.9.3
export PATH=$M2_HOME/bin:$PATH
#生效
source /etc/profile
#验证
mvn -version
Maven home: /usr/local/apache-maven-3.9.3
Java version: 1.8.0_371, vendor: Oracle Corporation, runtime: /usr/local/jdk1.8.0_371/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.4.0-113-generic", arch: "amd64", family: "unix"
docker
需要docker和docker compose,可参见这里进行安装
1.2 jenkins安装
bash
#拉去镜像
docker pull jenkins/jenkins:2.401.2-lts
#在/usr/local下创建一个docker目录,并创建docekr-jenkins目录
#在该目录下创建一个docker-compose.yaml
version: "3.1"
services:
jenkins:
image: jenkins/jenkins:2.401.2-lts
container_name: jenkins
ports:
- 8080:8080
- 50000:50000
volumes:
- ./data/:/var/jenkins_home/
#docker-compose 构建
#在当前目录下
docker-compose up -d
#需要对当前目录的data目录增加权限
chmod 777 -R data
#重启容器
docker-compose restart
#查看日志
docker logs -f jenkins
#得到密码
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
1717a4d7c81e4459896c886435f67j94
This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
#访问服务器ip:8080即可
#如果插件安装太慢或安装失败
可以在数据卷中的hudson.modle.UpdataCenter.xml修改镜像地址
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
访问ip:8080进入jenkins UI页面
进入后
使用默认管理员账户登入
在左上角admin中状态,下滑到password,修改密码为1234Qwer
2 maven jdk docker加载
由于jenkins内部下载maven和jdk太慢,需要讲1.1中环境安装的jdk和maven加载到jenkins中
bash
#将jdk和maven移动到安装jenkins的data目录下
mv /usr/local/jdk /usr/local/docker/docker-jenkins/data
mv /usr/local/maven /usr/local/docker/docker-jenkins/data
修改docker-compose.yml
Groovy
version: "3.1"
services:
jenkins:
image: jenkins/jenkins:2.401.2-lts
container_name: jenkins
ports:
- 8080:8080
- 50000:50000
volumes:
- ./data/:/var/jenkins_home/
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
- /etc/docker/daemon.json:/etc/docker/daemon.json
重新构建jenkins
docker-compose up -d
3 安装插件
在系统管理->插件管理->available plugins中搜索并安装,安装完成重启Jenkins,再进入UI对需要配置的插件安装说明进行配置
gitlab
连接gitlab工具
gitlab添加全局凭证
bash
# 进入
系统管理 -> credentials -> stores scoped to jenkins -> system -> 全局凭证 -> add credentials -> user/password
# 使用gitlab用户名密码
gitlab 用户名gitlab用户名,密码gitlab密码
id设置为 gitlab-user-pass
# 保存
Git Parameter
git 参数插件,在进行项目参数化构建时使用
Config File Provider
用于加载外部配置文件,如 Maven 的 settings.xml 或者 k8s 的 kubeconfig 等
Node and Label parameter
节点标签参数配置
Build Authorization Token Root
用于创建token凭证
Publish over SSH
远程ssh操作
在系统管理->系统配置中,下拉到 Publish over SSH
名称随意,地址为需要连接的服务器ip,用户名,发送到目标服务器的目录,在高级中添加用户名的密码,镜像测试连接