Jenkins脚本中报permission denied以及部署脚本

cd /var/run
chmod 777 docker.sock

由于对该文件没有操作权限,对该文件添加权限,便可执行docker命令


shell脚本

# jenkins下的目录
JENKINS_HOME=/var/lib/jenkins/workspace/hys

# 源jar名称,mvn打包之后,target目录下的jar包名称
JAR_NAME=hys

echo "----------------------------脚本开始执行"
echo "开始编译和打包"
mvn clean package
echo "编译打包结束"

# 等待三秒
echo sleep 3s
sleep 1
echo sleep 2s
sleep 1
echo sleep 1s
sleep 1

cd $JENKINS_HOME/target

cp $JENKINS_HOME/Dockerfile $JENKINS_HOME/target

# 修改文件权限
chmod 755 $JAR_NAME.jar

echo "看看docker能不能用"
docker -v
echo "----------------------------查看当前运行容器"
docker ps
echo "----------------------------查看当前所有镜像"
docker images
echo "----------------------------停止容器kang01_1204"
docker stop kang01-1204 |true
echo "----------------------------删除容器kang01_1204"
docker rm kang01-1204 |true
echo "----------------------------删除镜像名称中包含images的镜像"
docker images | grep images | awk '{print $3}' | xargs docker rmi |true
echo "----------------------------创建新的镜像images"
docker build -t images .
echo "----------------------------根据新的镜像images,来生成新的容器kang01_1204"
docker run -d -p 9001:9001 -v /home/hys/logs:/home/hys/logs -v /home/hys/uploadPath:/home/hys/uploadPath --name kang01-1204 -itd images
echo "----------------------------查看当前最新运行的容器"
docker ps
echo "----------------------------查看当前最新的镜像版本"
docker images

Pipeline 声明式脚本

pipeline {
    agent any

    stages {
        stage('pull code') {
            steps {
                checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: '75bda64b-8577-45bd-9b64-4d8003dad319', url: 'https://gitee.com/KWTXXB/laboratory.git']]])
            }
        }
        stage('build project') {
            steps {
                sh 'mvn clean package'
            }
        }
        stage('publish project') {
            steps {
                sh '''
JENKINS_HOME=/var/lib/jenkins/workspace/hys

JAR_NAME=hys

cd $JENKINS_HOME/target

cp $JENKINS_HOME/Dockerfile $JENKINS_HOME/target
                echo "看看docker能不能用"
docker -v
echo "----------------------------查看当前运行容器"
docker ps
echo "----------------------------查看当前所有镜像"
docker images
echo "----------------------------停止容器kang01_1204"
docker stop kang01-1204 |true
echo "----------------------------删除容器kang01_1204"
docker rm kang01-1204 |true
echo "----------------------------删除镜像名称中包含images的镜像"
docker images | grep images | awk \'{print $3}\' | xargs docker rmi |true
echo "----------------------------创建新的镜像images"
docker build -t images .
echo "----------------------------根据新的镜像images,来生成新的容器kang01_1204"
docker run -d -p 9001:9001 -v /home/hys/logs:/home/hys/logs -v /home/hys/uploadPath:/home/hys/uploadPath --name kang01-1204 -itd images
echo "----------------------------查看当前最新运行的容器"
docker ps
echo "----------------------------查看当前最新的镜像版本"
docker images'''
            }
        }
    }
}

ssh远程部署配置

Source files:选择要复制的文件路径

Remove prefix:删除文件之前的路径,只传输当前文件到指定路径下

Remove directory:选择远程服务器所要进入的路径是

Exec command:将jar报复制到指定路径后,所要执行的脚步及命令


 系统配置ssh


全局属性配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值