前期安装好jdk,maven
获取jdk,maven路径
拉取镜像
防止容器重启后ip改变,给容器设置静态ip,先设置自定义网络类型
docker network create --subnet=172.18.0.0/16 mybridge
设置宿主机映射文件夹,设置jdk、maven映射,设置自定义网络类型、静态ip,然后启动
docker run -d --name jenkins2 -p 49001:8080 --net mybridge --ip 172.18.0.81 -v /usr/jenkins1:/home/jenkins_home -v /usr/java/jdk1.8.0_144:/usr/java/jdk -v /usr/java/apache-maven-3.5.4:/usr/java/maven jenkins
查看容器ip是否设置好了
docker inspect jenkins2
配置nginx,重启nginx
输入http://ip:8080
根据提示,进入容器找到initialAdminPassword文件,拿到token
docker exec -it jenkins2 /bin/bash
选择默认安装
安装完成后设置账号密码
安装Publish Over SSH插件,安装完最后重启一下(可以直接地址栏http://ip:8080/restart,重启时可能会遇到502的问题,这是还没有完全重启的原因,稍微等等再刷新就好了)
安装maven插件
配置jdk和maven,这里面的路径就是docker run时的容器映射路径
因为是docker容器,构建后,需要放在宿主机上运行,所以需要用到Publish Over SSH进行容器免密登录宿主机,然后将jar放在宿主机固定的文件夹下
首先进入jenkins容器中生成密钥
接着将公钥id_rsa.pub放在宿主机./root/.ssh/目录下,并创建authorized_keys文件,将公钥文本复制进authorized_keys中,然后在系统设置中配置Publish Over SSH
*Passphrase 不用管
*Path to key jenkins容器内部私钥路径
*Key jenkins容器内部私钥的值
*SSH Servers
Name ssh服务名称,随意取
Hostname 目标服务器地址
Username 连接用户名
Remote Directory 操作的远程目录
其他的默认就好了,接着Test Configuration测试一下,如果出现success,就说明成功了
接着...
新建一个maven项目
拿到源码地址
配置源码地址
7.png
8.png
9.png
当push时触发构建器
10.png
构建完成后执行脚本
11.png
打包命令
12.png
选择之前设置好的ssh服务,并设置源文件和命令
*Source files 那里要写相对路径
*Remove prefix 填写过滤的前缀
*Remote directory 存放的目标服务器目录
*Exec command 文件传输后执行的命令
push测试
nice
网友评论