准备工作
1.在宿主机安装maven
2.jenkins镜像自带了jdk与git不用另外装了
3.建文件夹jenkins_home
chmod -R 777 jenkins_home
chown -R 1000 jenkins_home
4.写脚本(docker版本库:https://hub.docker.com/r/jenkins/jenkins/tags)
温馨提示:下载的版本的时候,根据你使用的jdk按需选择,不要选择过高的或过老的版本(插件会不兼容),按发布时间差半年左右就可以了,我这里选择的是2.303.1-jdk8
#下载镜像
docker pull jenkins/jenkins:2.303.1-jdk8
#启动容器
docker run -itd -p 9080:8080 -p 9081:50000 \
-v /data/run/jenkins_home:/var/jenkins_home \
-v /home/run/apache-maven-3.5.4:/usr/local/maven \
-v /etc/localtime:/etc/localtime \
--name jenkinsTest jenkins/jenkins:2.303.1-jdk8
5.改配置文件hudson.model.UpdateCenter.xml ,把源改成
https://updates.jenkins.io/update-center.json
6.重启jenkins docker restart jenkinsTest
7.下载推荐插件,设置好账户之后,在插件管理下载Maven Integration plugin
,Publish Over SSH
8.下载完成之后配置在系统管理,配置ssh
9.配置凭证,我用的是华为云,推荐使用ssh
检查系统是否存在密钥,No such file or directory 说明你是第一次使用git需要生成密钥。如果不是第一次使用,可以选择使用已有密钥或者重新生成密钥方式。
cd ~/.ssh
备份秘钥
mkdir key_backup
cp id_rsa* key_backup
rm id_rsa*
新增秘钥
ssh-keygen -t rsa -C "您的邮箱"
这里填私钥,在华为云上填公钥
如果是账号密码的方式,选这个
10.新建一个任务,选maven项目
11.配置任务
我的pom.xml就是在: /挂载的jenkins_home目录/workspace/任务名/pom.xml,所以我直接写的pom.xml,如果你的项目在/挂载的jenkins目录/workspace/任务名/xxxx/pom.xml,写xxxx/pom.xml。
Source files(源文件):打包后的存放目录
例:新建的任务名叫test,则会在jenkins_home/workspace 下生成一个test的文件,这是根目录,根目录下放你的项目相关的东西,项目demo则构建后的jar存放路径为,jenkins_home/workspace/test/demo/target/demo.jar
此时你只需要填demo/target/demo.jar 即可
Remove prefix(删除前缀):这里填demo/target/
Remote directory(目标服务器指定文件夹):你的jar会发送到目标服务器的该文件夹下。(注意:ssh server配置的时候也有个Remote directory最终的发送路径为:ssh server Remote directory+任务里面Remote directory路径,两个路径拼接)