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


全局属性配置

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用[1]:最近作者在安装RN环境的时候遇到一个npm权限不足问题,具体报 Error: EACCES: permission denied, mkdir ‘/usr/local/lib/node_modules/xxxxxx‘ 。 引用[2]:1.Cannot download "https://github.com/sass/node-sass Downloading binary from https://github.com/sass/node-sass/releases/download/v4.10.0/linux-x64-72_binding.node Cannot download "https://github.com/sass/node-sass/releases/download/v4.10.0/linux-x64-72_binding.node": 解决: yarn yarn add node-sass --dev yarn add sass-loader --dev 2.权限问题 - Building for production... ERROR Error: EACCES: permission denied, rmdir '/var/lib/jenkins/workspace/jentest/dist/vueDemo' Error: EACCES: permission denied, rmdir '/var/lib/jenkins/workspace/jentest/dist/vueDemo' npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! vue-demo@0.1.0 build: `vue-cli-service build` npm ERR! Exit status 1 。 引用[3]:cd /var/lib/jenkins/workspace/jentest #echo '>>> npm run build' yarn yarn add node-sass --dev yarn add sass-loader --dev #npm install npm run build 。 问题:jenkins cnpm: Permission denied 回答: 根据引用[1]和引用[2]的信息,你遇到的问题是npm权限不足的错误。这个错误通常是由于你没有足够的权限来执行某些操作,比如创建文件夹或删除文件夹。解决这个问题的方法是使用合适的权限来执行相关操作。你可以尝试使用yarn来安装依赖项,如引用[2]所示,使用以下命令来安装node-sass和sass-loader: ``` yarn add node-sass --dev yarn add sass-loader --dev ``` 另外,根据引用[3]的信息,你还可以尝试在执行构建命令之前使用yarn或npm install来安装依赖项。例如,你可以使用以下命令: ``` yarn npm install npm run build ``` 这样应该能够解决你遇到的权限问题。希望这些解决方法对你有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值