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
收藏
暂无评论信息
- 相关文章
- 文章推荐
-
半导体短缺即将结束?分析师:如果没有 1 美元芯片会影响更多
德勤咨询(Deloitte Consulting)的芯片分析师认为,随着芯片行业资本支出的增加,需求度较高的工厂已经开工,预示着短缺情况即将结束。
-
Docker 常用命令
docker目前代替虚拟机使用的一个容器,灵活好用。
-
眼镜试戴的装饰效果
开发眼镜类产品的时候需要使用试戴的功能,这里就有你需要的学习资料哦!
-
乐视官方确认还有 400 多人:消息称员工“没有内卷和 996”,过着“没有老板”的神仙日子
7 月 11 日消息,近期,微博博主 @Fenng 分享了一个冷知识:乐视居然还剩下 400 多人,有不少是五年以上的老员工。这些老员工称“幸福感是很多老乐视人留下来的理由”,没有内卷和 996,没拖欠过留下来的员工的工资,也没停过社保。
- 点击排行
- 站长推荐
- 猜你喜欢
- 网站信息
- 站内问答:12篇
- 站内文章:212篇
- 建站时间:已运行1107天
- 备案号: 浙ICP备2022018799号
- 语言:
English(USA)
French(FR)
Chinese(ZH)
无数据