jenkins 自动化shell构建任务配置文档
简介 shell构建命令
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;">#!/bin/bash</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> </span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;">CONTAINER=${container_name}</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;">PORT=${port}</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> </span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> </span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"># build docker image</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;">docker build --no-cache -t ${image_name}:${tag} .</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> </span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> </span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;">checkDocker() {</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> RUNNING=$(docker inspect --format="{{ .State.Running }}" $CONTAINER 2>/dev/null)</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> if [ -z $RUNNING ]; then</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> echo "$CONTAINER does not exist."</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> return 1</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> fi</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> </span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> if [ "$RUNNING" == "false" ]; then</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> matching=$(docker ps -a --filter="name=$CONTAINER" -q | xargs)</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> if [ -n $matching ]; then</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> docker rm $matching</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> fi</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> return 2</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> else</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> echo "$CONTAINER is running."</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> matchingStarted=$(docker ps --filter="name=$CONTAINER" -q | xargs)</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> if [ -n $matchingStarted ]; then</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> docker stop $matchingStarted</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> docker rm ${container_name}</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> fi</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> fi</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;">}</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> </span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;">checkDocker</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> </span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"> </span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;"># run docker image</span></span></code></p>
<p class="MsoNormal"><code><span style="font-family: 宋体;"><span style="font-size: 14px;">docker run -itd --name $CONTAINER -p $PORT:80 ${image_name}:${tag}</span></span></code></p>
分享到:
转载:
喜欢 0
收藏
暂无评论信息
- 相关文章
- 文章推荐
-
群辉nas docker容器 配置svn仓库,并实现外网访问
2022-08-11的这一天, 群辉nas到手了, 实现svn仓库外网的访问,折腾了好久。记录一下。
-
淘宝 NPM 镜像站喊你切换新域名啦
淘宝 NPM 镜像站(npm.taobao.org)自 2014 年 正式对外服务,一开始只是想简单地做 NPM 的中国镜像站点,回馈国内前端社区,不知不觉竟然一直运行到现在。当年参考 Ruby Gems 淘宝镜像 的方式,跟阿里开源组织申请了 taobao.org 的二级域名,镜像站点名称也自然而然地取名为 淘宝 NPM 镜像站 (下称 CNPM)。
-
HTML 面试知识点总结
本部分主要是笔者在复习 HTML 相关知识和一些相关面试题时所做的笔记,如果出现错误,希望大家指出!
-
Docker 常用命令
docker目前代替虚拟机使用的一个容器,灵活好用。
- 点击排行
- 站长推荐
- 猜你喜欢
- 网站信息
- 站内问答:12篇
- 站内文章:213篇
- 建站时间:已运行1246天
- 备案号: 浙ICP备2022018799号
- 语言:
- English(USA)
- French(FR)
- Chinese(ZH)
无数据