Linux使用docker安装Jenkins 并进行jar包发布 、配置流水线,自定义参数,远程执行shell脚本
拉取镜像
docker pull jenkins/jenkins:lts
创建docker-compose.yml 文件 (主要习惯 也可以不用这种方式) Linux安装docker-compose 参考:https://www.cnblogs.com/pxblog/p/15049362.html
version: "2"
services:
jenkins:
image: jenkins/jenkins:lts
container_name: jenkins
environment:
# - TZ="Asia/Shanghai"
- timezone="Asia/Shanghai"
- JENKINS_JAVA_OPTIONS="-Xms1024m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m -Duser.timezone=Asia/shanghai -Djava.awt.headless=true"
- JENKINS_OPTS="--prefix=/jenkins"
- JENKINS_ARGS="--prefix=/jenkins"
privileged: true
user: root
volumes:
- /data/jenkins/home:/var/jenkins_home
- /etc/localtime:/etc/localtime
ports:
- 8500:8080
- 50000:50000
restart: on-failure
先创建挂载目录,然后执行
docker-compose up -d
-d :表示后台启动 第一次可以不使用 看下启动是否正常
启动成功
浏览器访问
http://服务器ip:8500/jenkins
然后查看密码 我的是
cat /data/jenkins/home/secrets/initialAdminPassword
安装完成后,这里可以创建,也可以使用默认的admin ,密码就是我们之前/secrets/initialAdminPassword 密钥
配置环境变量
配置环境变量maven 通过把maven包放到挂载目录
添加全局凭据
输入账号密码 id用gitlab
确定之后
开始部署项目
脚本说明
node {
stage('Preparation') {
git branch: 'master', credentialsId: 'gitlab', url: 'http://git.demo.com/gitlab/$JOB_NAME.git'
}
stage('Maven Build') {
sh "mvn -v"
sh "rm -rf /var/maven/repository/com/*"
sh "rm -rf /var/maven/repository/org/*"
sh "rm -rf /var/maven/repository/cn/*"
sh "mvn -Dmaven.test.failure.ignore -DskipTests clean install"
sh "rm -rf /var/maven/repository/com/*"
sh "rm -rf /var/maven/repository/org/*"
sh "rm -rf /var/maven/repository/cn/*"
}
stage('Deploy') {
sh "pwd"
sh "scp ./target/$JOB_NAME-1.0.0.jar root@192.168.1.101:/home/test/$JOB_NAME"
}
def remote = [:]
remote.name = 'master'
remote.host = '192.168.1.102'
remote.user = 'root'
remote.password = '123456'
remote.allowAnyHosts = true
stage('Remote SSH') {
sshCommand remote: remote, command: "sh /home/test/restart.sh"
}
}
$JOB_NAME 就是刚才我们填写的任务的名称,我是test,这里Jenkins会自动帮我们替换
/var/maven/repository 这个是我们maven配置的本地仓库路径,每次都会删掉本地仓库的jar包 重新拉取最新的jar包下来打包
其中在node上也可以自己定义参数
如果已经配置了ssh登录远程服务器,最后一个也可以换成
stage('Remote SSH') { sh "ssh root@192.168.1.102 /home/test/restart.sh 可能需要的参数" }
配置好了 点击立即构建 就可以查看效果了
-----------------------有任何问题可以在评论区评论,也可以私信我,我看到的话会进行回复,欢迎大家指教------------------------
(蓝奏云官网有些地址失效了,需要把请求地址lanzous改成lanzoux才可以)