首页 > 其他分享 > GitLab CICD Day 20 - 部署 Image 到服务器上

GitLab CICD Day 20 - 部署 Image 到服务器上

时间:2023-02-11 21:33:53浏览次数:41  
标签:compose 20 128.215 CICD Image ssh 172.16 8080 docker

​1. 服务部署到目标服务器上​​(多次部署同一个服务时,会失败,因为会端口冲突)

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_qa:
stage: deploy_qa
tags:
- shell
before_script:
- eval $(ssh-agent -s) #执行ssh
- ssh-add <(echo "$SERVER_PRIVATE_KEY") #读取密钥并加入列表
script:
- echo "start deploying"
# 在目标机器:172.16.128.153上部署服务,先登录docker harbor,再拉镜像,并部署
- ssh -o StrictHostKeyChecking=no [email protected] "
docker login -u $user -p $pwd $harbor &&
docker run -p 80:8000 -d 172.16.128.215:8080/hive/hellocat:latest
"

  1. 执行结果:

      GitLab CICD Day 20 - 部署 Image 到服务器上_docker

  1. 多次部署同一个服务,会导致端口冲突。

      GitLab CICD Day 20 - 部署 Image 到服务器上_hive_02

  • 解决方案:
    a) 使用shell脚本,找到它,然后删除它
    b) 使用docker-compse来解决

  具体步骤如下:

  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.yaml文件
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_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服务到目标机器
- ssh -o StrictHostKeyChecking=no [email protected] "
docker-compose down && docker-compose up -d
"



问题1:部署时报docker-compose不支持

解决方案:升级docker-compose到最新版本

      GitLab CICD Day 20 - 部署 Image 到服务器上_docker_03

解决方法:

  1. 查看版本:


      GitLab CICD Day 20 - 部署 Image 到服务器上_hive_04

  1. 升级docker-compose版本













标签:compose,20,128.215,CICD,Image,ssh,172.16,8080,docker
From: https://blog.51cto.com/u_12391275/6050976

相关文章

  • 2023最新Python阅读书籍推荐
    abyteofpython(中文:简明Python教程)入门的书很多,但能让新手轻松看懂的就少了,作者写的思路非常清晰,对每一个知识点讲解的很到位,不多不少,对初学者来说,力道刚刚好。这本书是......
  • pillow ImageFont.truetype OSError: cannot open resource
     fromPILimportImageFont,ImageDraw#导入中文字体,指定字体大小font=ImageFont.truetype('SimHei.ttf',50) OSErrorTrace......
  • Word List 2023
    WordList2023记录2023年阅读论文时遇到的单词wildcard通配符wildcardpredicate通配符谓词maturation成年过程;长大成人ever-increasing不断增加的stochastic......
  • GitLab CICD Day 17 - Image递增版本号 - 2
    新增build版本号variables:user:ericpwd:Admin@1234harbor:http://172.16.128.215:8080image_hellocat:172.16.128.215:8080/hive/hellocatstages:-testing......
  • GitLab CICD Day 19 - SSH免密登录远程服务器 *
    服务器免密:生成ssh-key(服务器A&B)[root@qaonpremise]#ssh-keygenGeneratingpublic/privatersakeypair.Enterfileinwhichtosavethekey(/root/.ssh/id_rs......
  • 第 20 章 XML Web 服务
    20.1XML-RPC简介......................................34420.2使用XML-RPC进行通信.....................34520.2.1发送请求........................................
  • 020_基于 SpringBoot 的 SSMP 整合案例(总结)
    pom.xml:配置起步依赖application.yml:设置数据源、端口、框架技术相关配置dao:继承BaseMapper、设置@Mapperdao测试类service:调用数据层接口或MyBatis-Plus提供的接......
  • 2023/2/11 考试总结
    时间安排7.30~7.40分析了一下T2,分四种情况,有两种情况是二位数点,另外两种情况都是求前缀最大面积。一开始想的是用兔队线段树做,发现需要再套李超线段树感觉很难受,后来又......
  • P9065 [yLOI2023] 云梦谣
    明显的,御剑飞行只会用一次,所以预处理一下,在记录到\((1,1)\)或\((n,m)\)的最短距离即可。#include<bits/stdc++.h>usingnamespacestd;constintdx[4]={0,0,1,-......
  • 2023河南青少年程序设计能力认证游记
    河南2023青少年程序设计能力认证游记2023.1.18WC闭幕式当天收到了省内计算机学会开办省赛的通知(完了eeee作业又双叒叕写不完了)\(Day~-8至0\)先去了一天高中部,第一......