需求: docker 安装jenkins ,在jenkins打包, 并部署到其他服务器
先宿主机 安装maven
# 执行命令
mkdir -p /usr/local/work/maven
cd /usr/local/work/maven
# 下载
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
# 解压
tar -zxvf apache-maven-3.6.3-bin.tar.gz
# 看自己 重命名
mv ./apache-maven-3.6.3 maven-3.6.3
# 设置全局变量
vim /etc/profile
# 在文件末尾加上
export MAVEN_HOME=/usr/local/work/maven/maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin
# 保存后,重新加载配置
source /etc/profile
jenkins 容器自带jdk,所以不用挂载jdk
docker 安装jenkins
1、安装
docker pull jenkins
2、创建挂载目录、赋予权限
mkdir -p /usr/local/work/docker/jenkins
chown -R 1000 /usr/local/work/docker/jenkins
3、启动容器
docker run -d --name jenkins \
-p 8888:8080 -p 50000:50000 \
-v /usr/local/work/docker/jenkins:/var/jenkins_home \
-v /etc/localtime:/etc/localtime \
-v /usr/local/work/maven/maven-3.6.3:/usr/local/maven \
-v /usr/local/work/maven/maven-3.6.3/repository:/usr/local/maven/repository \
jenkins
# localtime 设置docker时区和宿主机一致
需要在服务器安全组开放8888 50000端口
4、访问ip:8888
5、进入文件 找到密码 ,输入后 进入jenkins
6、选择自定义或推荐的插件
7、安装完成:
8、安装需要的插件 git,如果需要jenkins打包后 传送到第三方服务器 部署启动的,还需要下载Publish Over SSH 插件
9、配置jenkins 系统全局配置
配置jdk
java_home 的路径 可以通过命令查看:
docker inspect 容器id
配置maven,maven_home的路径为jenkins 容器内部的路径,即上面配置的maven挂载路径
配置Publish over SSH
找到ssh
输入密码
最后保存
最后创建新项目,并配置
1、创建 并设置git
作用:拉取git代码到容器内部,存放位置在 /var/jenkins_home/workspace/下面(挂载目录也可以看到)
2、配置 git拉取后的执行脚本,把项目打成jar包
3、配置ssh publish远程服务器,把jar包发送到部署服务器,并执行脚本
a. source files : 这里写 你需要传送到部署服务器的文件,多个文件用逗号隔开
注意:source files 的基础路径为:/var/jenkins_home/workspace/
eg: mvn 打包后的jar包在 项目/target/xxx.jar
b. remove prefix: 删除指定前缀,不然,传送到部署服务器也会把对应的目录层级结构复制过来
eg: 上面的.jar传输过去后,文件层级为 ssh配置的路径/remote directory/target/xx.jar,
如果remove prefix 设置为/target/ , 那层级为ssh配置的路径/remote directory/xx.jar
c. remote directory: 指定ssh配置目录后的目录。(结构为:ssh配置的路径/remote directory)
d. exec command: 执行脚本
注意:如果服务器传输位置已有同名的jar包,那么新的jar包会覆盖旧的
到此:基础版本基本完成