zoukankan      html  css  js  c++  java
  • docker~不使用yml批量部署服务

    回到目录

    有时,我们在进行持续集成环境有时,有时yml环境是没有的,它可能只提供了docker工具,而docker-compose这个大家伙可能不被提供,而这样我们如果希望自动化构建解决方案下所有的项目,就需要写sh脚本了,需要把需要打包,发布,镜像的项目写到咱们的数组里,然后去遍历它!

    一 批量还原和发布项目

    #!/bin/sh
    
    # 声明需要发布的项目
    declare -a projectList=(
       '../Beijing.Tax'
       '../Jiangsu.Tax'
    )
    
    # 恢复包依赖与发布
    for project in "${projectList[@]}"
    do
        echo -e "e[33mWorking on $(pwd)/$project"
        echo -e "e[33m	Removing old publish output"
        pushd $(pwd)/$project
        rm -rf obj/Docker/publish
        echo -e "e[33m	Restoring project"
        dotnet restore
        echo -e "e[33m	Building and publishing projects"
        dotnet publish -o obj/Docker/publish
        popd
    done

    二 批量生成镜像

    #!/bin/sh 
    export Registry_Url="ciregistry.i-counting.cn:8443"
    
    # 声明需要发布的项目
    declare -a projectList=(
        '../Beijing.Tax,lind/bejing.tax'
        '../Jiangsu.Tax,lind/jiangsu.tax'
    )
    
    for project in "${projectList[@]}"
    do
    arr=(${project//,/ })  
    dir=${arr[0]}
    image=${arr[1]}
    echo "dir"
    echo $dir
    pushd $(pwd)/$dir
    docker build --no-cache --pull -t $image ./ 
    docker tag $image $Registry_Url/$image
    #docker push $Registry_Url/$image
    done

    然后我们可以通过docker images "lind/*"来查看所有以lind开头的镜像文件

    一般地,我们的脚本都放在解决方案的根目录,建立一个deploy,把自动化脚本放进去就行了

    感谢各位的阅读!

    有时,达到一种目的的方式可能是多种多样的,选择适合我们的一种就可以了!

     回到目录

  • 相关阅读:
    查准率(precision)和查全率(recall)
    数据集大全:25个深度学习的开放数据集
    利用贝叶斯算法实现手写体识别(Python)
    KNN算法识别手写数字
    判断点在直线的左右哪一侧
    多节点bigchaindb集群部署
    java 多线程 3 synchronized 同步
    java 多线程 1 “常用的实现多线程的2种方式”:Thread 和 Runnable
    java 字符串
    java 关键字static
  • 原文地址:https://www.cnblogs.com/lori/p/7645328.html
Copyright © 2011-2022 走看看