介绍
- Jenkins 是开源 CI(持续集成) & CD(持续部署) 软件领导者,提供超过 1000 个插件来支持构建、部署、自动化,满足任何项目的需要。
安装
-
下载
jenkinsci/blueocean
镜像并使用以下docker run 命令将其作为Docker中的容器运行 :docker run \ -u root \ -d \ -p 8080:8080 \ -p 50000:50000 \ -v jenkins-data:/var/jenkins_home \ -v /usr/local/maven-3.6.3:/usr/local/maven-3.6.3 -v /var/run/docker.sock:/var/run/docker.sock \ -e MAVEN_HOME=/usr/local/maven-3.6.3 \ --network=host \ jenkinsci/blueocean
-
运行成功后会输出一长串容器 id 字符串, 接下来执行查看日志命令查看 Jenkins 初始化日志
-
docker logs -f 容器id # 容器id写上前四五位即可
-
通过浏览器访问
服务器地址:8080
进入 Jenkins 的初始化页面,输入初始密码即可,然后点推荐安装插件,安装完即可进入主页面 -
插件镜像加速:
find / -name default.json
cd 到以上路径的 xx/xx/../updates
- 将该文件中所有插件的地址修改为国内的地址
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
- 点击
插件管理
,选择高级
,拉到最下面升级站点
- 把
http://updates.jenkins-ci.org/update-center.json
改成http://mirror.xmission.com/jenkins/updates/update-center.json
- 在浏览器输入以下 重启jenkins
http://服务器IP地址:8080/restart
配置
宿主机配置maven
- 在服务器上安装好maven并配置
yum install -y wget
- 到/usr/local/soft 路径下下载maven安装包
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
- 解压maven安装包导指定路径
tar -zxvf 包名 -C /usr/local
- 更改文件名
mv 文件名 maven-3.6.3
- 新增内容到profile文件
vi /etc/profile
- 1.按一个大写G 在安一个小写的o
2.export MAVEN_HOME = /usr/local/maven-3.6.3
3.PATH 的后面 : /usr/local/maven-3.6.3/bin
source /etc/profile
- 查看是否安装成功
mvn -v
- 进入jenkins主页,点击
全局工具配置
-
相关设置如下图所示
-
设置完点击保存即可
在jenkins容器配置maven
- 在jenkins容器配置了maven,才可以在页面上点击
立即构建
拉取maven项目
- 查看容器id
docker ps
- 进入容器内操作
docker exec -it 容器id /bin/bash
- 编辑文件
vi /etc/profile
- 在第一行用
:
拼接maven路径(已经和宿主机对应的maven路径进行数据卷)
- 更新配置文件
source /etc/profile
- 设置关联
ln -s /usr/local/maven-3.6.3/bin/mvn /usr/sbin/mvn
- 查看是否配置成功
mvn -v
- 添加阿里云仓库镜像内容
vi /usr/local/maven-3.6.3/conf/settings.xml
- 所要添加的内容
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
- 演示
git拉取项目
-
选择自由风格,新建任务
-
点击左上角头像部分,即可查看任务列表
-
点击源码管理
-
linux内生成公钥和私钥及其查看
ssh-keygen -m PEM -t rsa
- 到此公钥和私钥的路径 通过
cat
命令查看具体的公钥和私钥值,
cd /root/.ssh/
-
将公钥保存在gitee上,将私钥放在jenkins内,即可通过ssh方式拉取项目
-
也可以单纯输入码云的账号密码,通过http方式拉取项目
-
若拉取的项目是maven项目则需点击
构建
,选择shell命令,输入打包maven命令
-
点击立即构建,开始拉取项目
-
左下角点击控制台输出.即可查看到项目拉取进linux内的路径
-
拉取到gitee上的项目,所在linux中的路径
宿主机开启远程部署
1.在linux宿主机中设置
find / -name context.xml
vi /usr/local/tomcat8/webapps/manager/META-INF/context.xml
- 注释掉以下内容
- 还需要再进入 tomcat/conf 目录开启远程部署权限,以及配置用户信息。
find / -name tomcat-users.xml
- 编辑文件,添加内容
vi /usr/local/tomcat8/conf/tomcat-users.xml
- 拉到最下面,添加以下内容
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/>
- 修改tomcat端口
vi /usr/local/tomcat8/conf/server.xml
- 改成8888(因为自己配的henkins就是8080端口,会冲突)
- 启动tomcat
/usr/local/tomcat8/bin/startup.sh
- 登陆页面
http://192.168.8.12:8888/manager/html
,账号密码都是tomcat
2.在jenkins页面设置
- 想在项目构建完成后直接将项目部署到 Tomcat,需要先将安装 deploy to container 插件用于部署到容器
- 在jenkins的系统管理->插件管理->可选插件,输入
deploy to container
安装插件
- 在作业设置中,构建-构建后操作,设置相关值并点击添加凭据
- 设置凭据,账号密码都是tomcat
- 配置远程 tomcat url
点击保存即可完成,效果功能:当点击作业中的立即构建
拉取gitee的项目到jenkins容器中后会将此项目部署到以上的tomcat中:192.168.8.12:8888
,则直接访问此路径即可访问项目