一. 安装docker
自动化安装docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
启动docker
sudo systemctl start docker
二、安装jenkins
1.拉取jenkins镜像,这步比较慢。
docker pull jenkins/jenkins:lts
2.目录权限
chown -R 1000 /mydata/jenkins_home
3.运行jenkins
docker run -di --name=jenkins -p 8080:8080 -v /mydata/jenkins_home/:/var/jenkins_home jenkins/jenkins:lts
备注:映射java、maven等目录
docker run -v /usr/local/apache-maven-3.8.4:/usr/local/apache-maven-3.8.4 -v /usr/local/java:/usr/local/java -v /mydata/jenkins_home/:/var/jenkins_home --name myjenkins -p 8080:8080 -d jenkins/jenkins:lts
4.解锁jenkins
查看密码命令:
cat /mydata/jenkins_home/secrets/initialAdminPassword
跟网站上的路径不一样,因为docker映射到了/mydata/jenkins_home路径上
5.安装推荐的插件
点击安装推荐的插件即可。
1) 插件安装完成后创建一个账号。
2) 点以管理员账号继续,后面有一个输入地址,保持不变点保存并完成
3) 全局配置
- 配置JDK,选择自动安装。需要输入oracle账号密码。
- 配置maven
6.安装SSH插件
7.配置系统管理
在系统配置里找到SSH,点添加
密钥那里点添加,添加服务器的密钥即可,id和描述随便输
8.写脚本
mkdir -p /usr/local/jenkins
cd /usr/local/jenkins/
vim jenkins.sh
#! /usr/bin/env bash
app_name='jenkinsdemo'
docker stop {app_name}
echo '-------stop container--------'
docker rm ${app_name}
echo '-------rm container----------'
docker run -di --name=${app_name} -p 7070:7070 test/${app_name}:1.0-SNAPSHOT
echo '-------start container-------'
chmod +x ./jenkins.sh
9.新建任务
输入任务名字,选FreeStyle project(自由风格的项目)
然后选择源码管理,填入源码仓库地址
然后在构建里选择调用顶层maven目标
然后在添加一个构建,选Execute shell script on remote host using ssh,目的是为了执行刚才我们写的jenkins.sh脚本
保存并退出
10.返回任务列表开始构建
备注:因为是通过jenkins安装的maven,拉取代码是从默认的中央仓库拉取的,会比较慢。可以改为从阿里的仓库拉取
cd /mydata/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/maven3.6.2/conf
vim settings.xml
#在mirrors标签里加入
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>