首页 > 其他分享 > GitLab CICD Day 21 - 部署 Staging 服务器(部署在同一个服务器?) *

GitLab CICD Day 21 - 部署 Staging 服务器(部署在同一个服务器?) *

时间:2023-02-11 22:32:08浏览次数:32  
标签:compose Staging 部署 ssh && 172.16 服务器 docker root

  •  Stagging部署
  1. 修改docker-compose.yml

version: "3.9"

services:
cat:
image: 172.16.128.215:8080/hive/hellocat:latest
ports:
- ${APP_PORT}:8000
restart: always

  1. 修改Gitlab-ci.yml文件

variables:
user: eric
pwd: Admin@1234
harbor: http://172.16.128.215:8080
image_hellocat: 172.16.128.215:8080/hive/hellocat


stages:
- testing
- build
- deploy_qa
- deploy_to_staging


deploy_to_qa:
stage: deploy_qa
tags:
- shell
before_script:
- eval $(ssh-agent -s) #执行ssh
- ssh-add <(echo "$SERVER_PRIVATE_KEY") #读取密钥并加入列表
script:
- echo "start deploying.."
- scp -o StrictHostKeyChecking=no ./docker-compose.yml [email protected]:/root #拷贝docker-compose.yml到目标机器

# 启动docker服务到目标机器,配置APP_PORT 和 COMPOSE_PROJECT_NAME
- ssh -o StrictHostKeyChecking=no [email protected] "
export APP_PORT=3000 && export COMPOSE_PROJECT_NAME=qa &&
docker-compose down && docker-compose up -d
"

deploy_to_staging:
stage: deploy_to_staging
tags:
- shell
before_script:
- eval $(ssh-agent -s) #执行ssh
- ssh-add <(echo "$SERVER_PRIVATE_KEY") #读取密钥并加入列表
script:
- echo "start deploying"
- scp -o StrictHostKeyChecking=no ./docker-compose.yml [email protected]:/root #拷贝docker-compose.yml到目标机器

# 启动docker服务到目标机器,配置APP_PORT 和 COMPOSE_PROJECT_NAME
- ssh -o StrictHostKeyChecking=no [email protected] "
export APP_PORT=8000 && export COMPOSE_PROJECT_NAME=stagging &&
docker-compose down && docker-compose up -d
"

  1. 执行结果:

    GitLab CICD Day 21 - 部署 Staging 服务器(部署在同一个服务器?) *_Gitlab k8s



  • enviornment用法:(用于直观检查,多个项目的部署情况与进度)
  1. 配置gitlab.yml
variables:
user: eric
pwd: Admin@1234
harbor: http://172.16.128.215:8080
image_hellocat: 172.16.128.215:8080/hive/hellocat


stages:
- testing
- build
- deploy_qa
- deploy_to_staging


deploy_to_qa:
stage: deploy_qa
tags:
- shell
before_script:
- eval $(ssh-agent -s) #执行ssh
- ssh-add <(echo "$SERVER_PRIVATE_KEY") #读取密钥并加入列表
script:
- echo "start deploying.."
- scp -o StrictHostKeyChecking=no ./docker-compose.yml [email protected]:/root #拷贝docker-compose.yml到目标机器

# 启动docker服务到目标机器,配置APP_PORT 和 COMPOSE_PROJECT_NAME
- ssh -o StrictHostKeyChecking=no [email protected] "
export APP_PORT=3000 && export COMPOSE_PROJECT_NAME=qa &&
docker-compose down && docker-compose up -d
"
# 在Gitlab中->Operations -> environment便于管理
environment:
name: qa
url: 172.16.128.153:3000

deploy_to_staging:
stage: deploy_to_staging
tags:
- shell
before_script:
- eval $(ssh-agent -s) #执行ssh
- ssh-add <(echo "$SERVER_PRIVATE_KEY") #读取密钥并加入列表
script:
- echo "start deploying"
- scp -o StrictHostKeyChecking=no ./docker-compose.yml [email protected]:/root #拷贝docker-compose.yml到目标机器

# 启动docker服务到目标机器,配置APP_PORT 和 COMPOSE_PROJECT_NAME
- ssh -o StrictHostKeyChecking=no [email protected] "
export APP_PORT=8000 && export COMPOSE_PROJECT_NAME=stagging &&
docker-compose down && docker-compose up -d
"
environment:
name: staging
url: 172.16.128.153:8000


  1. 查看结果:

    GitLab CICD Day 21 - 部署 Staging 服务器(部署在同一个服务器?) *_Gitlab k8s_02

    GitLab CICD Day 21 - 部署 Staging 服务器(部署在同一个服务器?) *_Gitlab k8s_03



标签:compose,Staging,部署,ssh,&&,172.16,服务器,docker,root
From: https://blog.51cto.com/u_12391275/6051000

相关文章

  • zookeeper 部署
    官网:https://zookeeper.apache.org/download             下载完成后赋值文件到centos /opt/software  单机部署解压到/opt/mod......
  • GitLab CICD Day 20 - 部署 Image 到服务器上
    ​​1. 服务部署到目标服务器上​​(多次部署同一个服务时,会失败,因为会端口冲突)variables:user:ericpwd:Admin@1234harbor:http://172.16.128.215:8080image_he......
  • GitLab CICD Day 19 - SSH免密登录远程服务器 *
    服务器免密:生成ssh-key(服务器A&B)[root@qaonpremise]#ssh-keygenGeneratingpublic/privatersakeypair.Enterfileinwhichtosavethekey(/root/.ssh/id_rs......
  • 软件开发、持续集成(CI)、持续交付(CD)、持续部署(CD) 和 版本管理(Version Control) 的理
    PS:要转载请注明出处,本人版权所有。PS:这个只是基于《我自己》的理解,如果和你的原则及想法相冲突,请谅解,勿喷。前置说明  本文作为本人csdnblog的主站的备份。(BlogID......
  • 使用yield大量减少服务器内存占用
    先说几个今天认识的php内置方法查看内存memory_get_usage()返回当前分配给你的PHP脚本的内存量,单位是字节(byte),用来查看方法使用了多少内存。读取文件 f......
  • 一个简单的RTMP服务器实现 --- RTMP与H264
    PS:要转载请注明出处,本人版权所有。PS:这个只是基于《我自己》的理解,如果和你的原则及想法相冲突,请谅解,勿喷。前置说明  本文作为本人csdnblog的主站的备份。(BlogID......
  • 一个简单的RTMP服务器实现 --- RTMP与FLV
    PS:要转载请注明出处,本人版权所有。PS:这个只是基于《我自己》的理解,如果和你的原则及想法相冲突,请谅解,勿喷。前置说明  本文作为本人csdnblog的主站的备份。(BlogID......
  • 一个简单的RTMP服务器实现 --- RTMP复杂握手(Complex Handshake)
    PS:要转载请注明出处,本人版权所有。PS:这个只是基于《我自己》的理解,如果和你的原则及想法相冲突,请谅解,勿喷。前置说明  本文作为本人csdnblog的主站的备份。(BlogID......
  • 一个简单的RTMP服务器实现 --- RTMP实现要点
    PS:要转载请注明出处,本人版权所有。PS:这个只是基于《我自己》的理解,如果和你的原则及想法相冲突,请谅解,勿喷。前置说明  本文作为本人csdnblog的主站的备份。(BlogID......
  • 【Docker】部署Oracle11g
    该来的总是要来的,之前已经讲过SQLServer、MySQL的docker部署,接下来总该到Oracle这个主流的数据库了。1.部署镜像这次部署的oracle数据库是11g。为什么要部署11g而不是12c......