coding 持续集成的Jenkinsfile

阅读: 评论:0

coding 持续集成的Jenkinsfile

coding 持续集成的Jenkinsfile

pipeline {agent anystages {stage('检出') {steps {checkout([$class: 'GitSCM',branches: [[name: GIT_BUILD_REF]],userRemoteConfigs: [[url: GIT_REPO_URL,credentialsId: CREDENTIALS_ID]]])}}stage('Node.js') {steps {sh 'rm -rf /usr/lib/node_modules/npm/'dir('/root/.cache/downloads') {sh 'wget -nc ".14.0/node-v16.14." -O node-v16.14. | true'sh 'tar -xf node-v16.14. -C /usr --strip-components 1'}sh 'npm install yarn -g'}}stage('安装依赖并打包') {steps {sh 'yarn install'sh 'cd packages/eee_energy/ && npm run build'echo '打包成功'}}stage('制作docker镜像后上传coding') {steps {sh 'docker -v'sh 'docker login -u energy -p 838838 ding'sh 'cd packages/ssss/ && ./energy_xxx_build.sh'echo '制作镜像成功'echo '上传成功'}}}}

energy_xxx_build.sh 文件内容(制作docker镜像上传coding 制品库 和导出docker镜像)

#!/bin/bash# 设置变量
IMAGE_NAME="ding/yyyyy/enejjd/xxxxs"         # 镜像名称
IMAGE_TAG="latest"            # 镜像标签
EXPORT_PATH="./mmmm.tar" # 导出路径和文件名
PUTH_NAME="coding" # 导出路径和文件名# 执行 Docker 构建
docker rmi "$IMAGE_NAME"
docker build -t "$IMAGE_NAME:$IMAGE_TAG" .
docker push "$IMAGE_NAME:$IMAGE_TAG"
echo "镜像已push到 $PUTH_NAME"
# 导出镜像为 tar 文件
# docker save "$IMAGE_NAME:$IMAGE_TAG" -o "$EXPORT_PATH"# echo "镜像已导出到 $EXPORT_PATH"

制作镜像并起docker服务的sh文件

#!/bin/bash# 设置变量
IMAGE_NAME="werr"         # 镜像名称
IMAGE_TAG="latest"            # 镜像标签
EXPORT_PATH="./eeee.tar" # 导出路径和文件名docker stop "$IMAGE_NAME"
docker rm "$IMAGE_NAME"
# 执行 Docker 构建
docker rmi "$IMAGE_NAME"
docker build -t "$IMAGE_NAME:$IMAGE_TAG" .
docker run --name "$IMAGE_NAME" -itd -p 8048:80 "$IMAGE_NAME:$IMAGE_TAG"echo "前端服务已启动 localhost:8048/xxxx/"

自动化部署服务器安装npm环境

      stage('Node.js') {steps {sh 'rm -rf /usr/lib/node_modules/npm/'dir('/root/.cache/downloads') {sh 'wget -nc ".14.0/node-v16.14." -O node-v16.14. | true'sh 'tar -xf node-v16.14. -C /usr --strip-components 1'}sh 'npm install yarn -g'}}

测试环境第一次部署 

安装并启动watchtower 镜像

当然,如果你只想让Watchtower更新特定容器,那可以将以上思路进行反向选择:即在Watchtower的命令行参数中使用了--label-enable,那么Watchtower将只更新那些带有标签的容器。这种情况下,你只需要在你想要Watchtower更新的容器上添加这个标签即可,其他没有这个标签的容器都会被Watchtower忽略。

那么Watchtower建立时的命令行参数应该修改为:

docker run -d --name=watchtower -v /var/run/docker.sock:/var/run/docker.sock  -v /root/.docker/config.json:/config.json  --restart=always containrrr/watchtower --label-enable --cleanup --interval 60

从coding制品库拉取镜像

docker pull ding/xxxn/dddd/fffds:latest

第二步 起服务 但是要加上 --label&#able=true 
docker run --label&#able=true --name rgy_sqqqdom  -itd -p 8048:80 ding/xxxn/dddd/fffds:latest

参考 docker妙用 篇七:docker自动更新容器——Watchtower全攻略(含大部分常用参数)_NAS存储_什么值得买 

本文发布于:2024-02-01 08:47:42,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170674846435381.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:coding   Jenkinsfile
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23