fix : 修复实施图片
This commit is contained in:
320
.drone.yml
320
.drone.yml
@@ -1,160 +1,160 @@
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: mosr-web
|
||||
platform:
|
||||
os: linux
|
||||
arch: arm64
|
||||
steps:
|
||||
|
||||
|
||||
- name: build-package
|
||||
image: node:18.19.0
|
||||
volumes:
|
||||
- name: cache
|
||||
path: /drone/src/node_modules
|
||||
commands:
|
||||
- export CI=false
|
||||
- mkdir -p /app/build/$DRONE_REPO_NAME
|
||||
- rm -rf /app/build/$DRONE_REPO_NAME/*
|
||||
- cp deployment.yml /app/build/$DRONE_REPO_NAME/
|
||||
- cp Dockerfile /app/build/$DRONE_REPO_NAME/
|
||||
- cp .dockerignore /app/build/$DRONE_REPO_NAME/
|
||||
- cp default.conf /app/build/$DRONE_REPO_NAME/
|
||||
- cp docker.sh /app/build/$DRONE_REPO_NAME/
|
||||
- cp nginx.conf /app/build/$DRONE_REPO_NAME/
|
||||
- npm -v
|
||||
- node -v
|
||||
- mkdir -p ./node_modules
|
||||
- export NODE_MODULES_PATH=`pwd`/node_modules
|
||||
- npm config set registry https://registry.npmmirror.com
|
||||
- set NODE_OPTIONS=--openssl-legacy-provider
|
||||
- npm install --legacy-peer-deps
|
||||
- npm install codemirror
|
||||
# - npm install patch-package
|
||||
# - npx patch-package
|
||||
# - npm info unplugin-icons
|
||||
- npm list package-manager-detector
|
||||
# - npm install unplugin-icons@latest @antfu/install-pkg@latest package-manager-detector@latest
|
||||
- npm run build
|
||||
- ls /app/build/$DRONE_REPO_NAME/
|
||||
- echo $NODE_MODULES_PATH
|
||||
- cp -r dist /app/build/$DRONE_REPO_NAME
|
||||
|
||||
|
||||
- name: build-docker-prod # 制作docker镜像
|
||||
image: 10.7.127.190:38080/docker/docker # 使用官方docker镜像
|
||||
volumes: # 将容器内目录挂载到宿主机
|
||||
- name: docker
|
||||
path: /var/run/docker.sock # 挂载宿主机的docker
|
||||
- name: config
|
||||
path: /config
|
||||
environment: # 获取到密文的docker用户名和密码
|
||||
DOCKER_USERNAME:
|
||||
from_secret: docker_username
|
||||
DOCKER_PASSWORD:
|
||||
from_secret: docker_password
|
||||
REGISTRY:
|
||||
from_secret: registry
|
||||
REGISTRY_NAMESPACE:
|
||||
from_secret: registry_namespace
|
||||
commands: # 定义在Docker容器中执行的shell命令
|
||||
- cat Dockerfile
|
||||
- sed -i 's/$REGISTRY/'"$REGISTRY"'/' deployment.yml
|
||||
- sed -i 's/$REGISTRY_NAMESPACE/'"$REGISTRY_NAMESPACE"'/' deployment.yml
|
||||
- sed -i 's/$DRONE_REPO_NAME/'"$DRONE_REPO_NAME"'/' deployment.yml
|
||||
- sed -i 's/$DRONE_COMMIT/'"$DRONE_COMMIT"'/' deployment.yml
|
||||
- sed -i 's/$PORTS_NAME/'"dasdafas"'/' deployment.yml
|
||||
- sed -i 's/$PORTS_PORT/'"8081"'/' deployment.yml
|
||||
- sed -i 's/$PROFILES/'"mosr"'/' nginx.conf
|
||||
# docker登录,不能在脚本中登录,并且不能使用docker login -u -p
|
||||
- echo $DOCKER_PASSWORD | docker login $REGISTRY --username $DOCKER_USERNAME --password-stdin
|
||||
- chmod +x docker.sh
|
||||
- cat docker.sh
|
||||
- sh docker.sh
|
||||
# 执行完脚本删除本次制作的docker镜像,避免多次后当前runner空间不足
|
||||
- docker rmi -f $(docker images | grep $DRONE_REPO_NAME | awk '{print $3}')
|
||||
when:
|
||||
branch:
|
||||
- prod
|
||||
|
||||
- name: build-docker-dm # 制作docker镜像
|
||||
image: docker # 使用官方docker镜像
|
||||
volumes: # 将容器内目录挂载到宿主机
|
||||
- name: docker
|
||||
path: /var/run/docker.sock # 挂载宿主机的docker
|
||||
- name: config
|
||||
path: /config
|
||||
environment: # 获取到密文的docker用户名和密码
|
||||
DOCKER_USERNAME:
|
||||
from_secret: docker_username
|
||||
DOCKER_PASSWORD:
|
||||
from_secret: docker_password
|
||||
REGISTRY:
|
||||
from_secret: registry
|
||||
REGISTRY_NAMESPACE:
|
||||
from_secret: registry_namespace
|
||||
commands: # 定义在Docker容器中执行的shell命令
|
||||
- cat Dockerfile
|
||||
- sed -i 's/$REGISTRY/'"$REGISTRY"'/' deployment.yml
|
||||
- sed -i 's/$REGISTRY_NAMESPACE/'"$REGISTRY_NAMESPACE"'/' deployment.yml
|
||||
- sed -i 's/$DRONE_REPO_NAME/'"$DRONE_REPO_NAME"'/' deployment.yml
|
||||
- sed -i 's/$DRONE_COMMIT/'"$DRONE_COMMIT"'/' deployment.yml
|
||||
- sed -i 's/$PORTS_NAME/'"dasdafas"'/' deployment.yml
|
||||
- sed -i 's/$PORTS_PORT/'"8082"'/' deployment.yml
|
||||
- sed -i 's/$PROFILES/'"mosr-dm"'/' nginx.conf
|
||||
# docker登录,不能在脚本中登录,并且不能使用docker login -u -p
|
||||
- echo $DOCKER_PASSWORD | docker login $REGISTRY --username $DOCKER_USERNAME --password-stdin
|
||||
- chmod +x docker.sh
|
||||
- cat docker.sh
|
||||
- sh docker.sh
|
||||
# 执行完脚本删除本次制作的docker镜像,避免多次后当前runner空间不足
|
||||
- docker rmi -f $(docker images | grep $DRONE_REPO_NAME | awk '{print $3}')
|
||||
when:
|
||||
branch:
|
||||
- dm
|
||||
|
||||
- name: drone-rancher-prod # rancher运行
|
||||
image: bitnami/kubectl:1.26.13-debian-11-r1
|
||||
volumes: # 将容器内目录挂载到宿主机
|
||||
- name: config
|
||||
path: /app/config # 将kubectl 配置文件挂载出来
|
||||
commands: # 定义在Docker容器中执行的shell命令
|
||||
# 将deployment中定义的变量替换为drone中的内置变量
|
||||
- kubectl apply -f deployment.yml -n mosr --kubeconfig=/app/config/base-taishan-kubectl.yml
|
||||
when:
|
||||
branch:
|
||||
- prod
|
||||
|
||||
|
||||
- name: drone-rancher-dm # rancher运行
|
||||
image: bitnami/kubectl:1.26.13-debian-11-r1
|
||||
volumes: # 将容器内目录挂载到宿主机
|
||||
- name: config
|
||||
path: /app/config # 将kubectl 配置文件挂载出来
|
||||
commands: # 定义在Docker容器中执行的shell命令
|
||||
# 将deployment中定义的变量替换为drone中的内置变量
|
||||
- kubectl apply -f deployment.yml -n mosr-dm --kubeconfig=/app/config/base-taishan-kubectl.yml
|
||||
when:
|
||||
branch:
|
||||
- dm
|
||||
|
||||
|
||||
|
||||
volumes:
|
||||
- name: cache
|
||||
host:
|
||||
path: /home/npm/mosr-web
|
||||
- name: config # k8s对接的配置文件
|
||||
host:
|
||||
path: /home/kubect
|
||||
- name: docker # 宿主机中的docker
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
load:
|
||||
trigger:
|
||||
branch:
|
||||
- prod
|
||||
- dm
|
||||
event:
|
||||
- push
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: mosr-web
|
||||
platform:
|
||||
os: linux
|
||||
arch: arm64
|
||||
steps:
|
||||
|
||||
|
||||
- name: build-package
|
||||
image: node:18.19.0
|
||||
volumes:
|
||||
- name: cache
|
||||
path: /drone/src/node_modules
|
||||
commands:
|
||||
- export CI=false
|
||||
- mkdir -p /app/build/$DRONE_REPO_NAME
|
||||
- rm -rf /app/build/$DRONE_REPO_NAME/*
|
||||
- cp deployment.yml /app/build/$DRONE_REPO_NAME/
|
||||
- cp Dockerfile /app/build/$DRONE_REPO_NAME/
|
||||
- cp .dockerignore /app/build/$DRONE_REPO_NAME/
|
||||
- cp default.conf /app/build/$DRONE_REPO_NAME/
|
||||
- cp docker.sh /app/build/$DRONE_REPO_NAME/
|
||||
- cp nginx.conf /app/build/$DRONE_REPO_NAME/
|
||||
- npm -v
|
||||
- node -v
|
||||
- mkdir -p ./node_modules
|
||||
- export NODE_MODULES_PATH=`pwd`/node_modules
|
||||
- npm config set registry https://registry.npmmirror.com
|
||||
- set NODE_OPTIONS=--openssl-legacy-provider
|
||||
- npm install --legacy-peer-deps
|
||||
- npm install codemirror
|
||||
# - npm install patch-package
|
||||
# - npx patch-package
|
||||
# - npm info unplugin-icons
|
||||
- npm list package-manager-detector
|
||||
# - npm install unplugin-icons@latest @antfu/install-pkg@latest package-manager-detector@latest
|
||||
- npm run build
|
||||
- ls /app/build/$DRONE_REPO_NAME/
|
||||
- echo $NODE_MODULES_PATH
|
||||
- cp -r dist /app/build/$DRONE_REPO_NAME
|
||||
|
||||
|
||||
- name: build-docker-prod # 制作docker镜像
|
||||
image: 10.7.127.190:38080/docker/docker # 使用官方docker镜像
|
||||
volumes: # 将容器内目录挂载到宿主机
|
||||
- name: docker
|
||||
path: /var/run/docker.sock # 挂载宿主机的docker
|
||||
- name: config
|
||||
path: /config
|
||||
environment: # 获取到密文的docker用户名和密码
|
||||
DOCKER_USERNAME:
|
||||
from_secret: docker_username
|
||||
DOCKER_PASSWORD:
|
||||
from_secret: docker_password
|
||||
REGISTRY:
|
||||
from_secret: registry
|
||||
REGISTRY_NAMESPACE:
|
||||
from_secret: registry_namespace
|
||||
commands: # 定义在Docker容器中执行的shell命令
|
||||
- cat Dockerfile
|
||||
- sed -i 's/$REGISTRY/'"$REGISTRY"'/' deployment.yml
|
||||
- sed -i 's/$REGISTRY_NAMESPACE/'"$REGISTRY_NAMESPACE"'/' deployment.yml
|
||||
- sed -i 's/$DRONE_REPO_NAME/'"$DRONE_REPO_NAME"'/' deployment.yml
|
||||
- sed -i 's/$DRONE_COMMIT/'"$DRONE_COMMIT"'/' deployment.yml
|
||||
- sed -i 's/$PORTS_NAME/'"dasdafas"'/' deployment.yml
|
||||
- sed -i 's/$PORTS_PORT/'"8081"'/' deployment.yml
|
||||
- sed -i 's/$PROFILES/'"mosr"'/' nginx.conf
|
||||
# docker登录,不能在脚本中登录,并且不能使用docker login -u -p
|
||||
- echo $DOCKER_PASSWORD | docker login $REGISTRY --username $DOCKER_USERNAME --password-stdin
|
||||
- chmod +x docker.sh
|
||||
- cat docker.sh
|
||||
- sh docker.sh
|
||||
# 执行完脚本删除本次制作的docker镜像,避免多次后当前runner空间不足
|
||||
- docker rmi -f $(docker images | grep $DRONE_REPO_NAME | awk '{print $3}')
|
||||
when:
|
||||
branch:
|
||||
- prod
|
||||
|
||||
- name: build-docker-dm # 制作docker镜像
|
||||
image: docker # 使用官方docker镜像
|
||||
volumes: # 将容器内目录挂载到宿主机
|
||||
- name: docker
|
||||
path: /var/run/docker.sock # 挂载宿主机的docker
|
||||
- name: config
|
||||
path: /config
|
||||
environment: # 获取到密文的docker用户名和密码
|
||||
DOCKER_USERNAME:
|
||||
from_secret: docker_username
|
||||
DOCKER_PASSWORD:
|
||||
from_secret: docker_password
|
||||
REGISTRY:
|
||||
from_secret: registry
|
||||
REGISTRY_NAMESPACE:
|
||||
from_secret: registry_namespace
|
||||
commands: # 定义在Docker容器中执行的shell命令
|
||||
- cat Dockerfile
|
||||
- sed -i 's/$REGISTRY/'"$REGISTRY"'/' deployment.yml
|
||||
- sed -i 's/$REGISTRY_NAMESPACE/'"$REGISTRY_NAMESPACE"'/' deployment.yml
|
||||
- sed -i 's/$DRONE_REPO_NAME/'"$DRONE_REPO_NAME"'/' deployment.yml
|
||||
- sed -i 's/$DRONE_COMMIT/'"$DRONE_COMMIT"'/' deployment.yml
|
||||
- sed -i 's/$PORTS_NAME/'"dasdafas"'/' deployment.yml
|
||||
- sed -i 's/$PORTS_PORT/'"8082"'/' deployment.yml
|
||||
- sed -i 's/$PROFILES/'"mosr-dm"'/' nginx.conf
|
||||
# docker登录,不能在脚本中登录,并且不能使用docker login -u -p
|
||||
- echo $DOCKER_PASSWORD | docker login $REGISTRY --username $DOCKER_USERNAME --password-stdin
|
||||
- chmod +x docker.sh
|
||||
- cat docker.sh
|
||||
- sh docker.sh
|
||||
# 执行完脚本删除本次制作的docker镜像,避免多次后当前runner空间不足
|
||||
- docker rmi -f $(docker images | grep $DRONE_REPO_NAME | awk '{print $3}')
|
||||
when:
|
||||
branch:
|
||||
- dm
|
||||
|
||||
- name: drone-rancher-prod # rancher运行
|
||||
image: bitnami/kubectl:1.26.13-debian-11-r1
|
||||
volumes: # 将容器内目录挂载到宿主机
|
||||
- name: config
|
||||
path: /app/config # 将kubectl 配置文件挂载出来
|
||||
commands: # 定义在Docker容器中执行的shell命令
|
||||
# 将deployment中定义的变量替换为drone中的内置变量
|
||||
- kubectl apply -f deployment.yml -n mosr --kubeconfig=/app/config/base-taishan-kubectl.yml
|
||||
when:
|
||||
branch:
|
||||
- prod
|
||||
|
||||
|
||||
- name: drone-rancher-dm # rancher运行
|
||||
image: bitnami/kubectl:1.26.13-debian-11-r1
|
||||
volumes: # 将容器内目录挂载到宿主机
|
||||
- name: config
|
||||
path: /app/config # 将kubectl 配置文件挂载出来
|
||||
commands: # 定义在Docker容器中执行的shell命令
|
||||
# 将deployment中定义的变量替换为drone中的内置变量
|
||||
- kubectl apply -f deployment.yml -n mosr-dm --kubeconfig=/app/config/base-taishan-kubectl.yml
|
||||
when:
|
||||
branch:
|
||||
- dm
|
||||
|
||||
|
||||
|
||||
volumes:
|
||||
- name: cache
|
||||
host:
|
||||
path: /home/npm/mosr-web
|
||||
- name: config # k8s对接的配置文件
|
||||
host:
|
||||
path: /home/kubect
|
||||
- name: docker # 宿主机中的docker
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
load:
|
||||
trigger:
|
||||
branch:
|
||||
- prod
|
||||
- dm
|
||||
event:
|
||||
- push
|
||||
|
||||
Reference in New Issue
Block a user