一个伪linux粉丝的blog
  1. 首页
  2. unix/linux
  3. 正文

clone-code-from-containers-to-somewhere-by-using-sshpass-and-scp

2020年05月31日 202点热度 0人点赞 0条评论

 

1. 背景

客户有一个小小需求,需要拷贝构建阶段源代码至指定服务器目录,正好最近在玩alpine自定义镜像,于是测试一番,已实现该功能,简介如下。

 

2. 步骤

 

2.1. 基础镜像

根据用户自身喜好,准备一个含 scp 及 sshpass 工具包的简单基础镜像

  • 如 alpine 环境: apk --no-cache add curl openssh-client sshpass 提前安装即可
  • 我打包的版本地址在 hub.docker.com上  docker pull cnrock/alpine:0.05

 

2.2. 脚本设置

 

2.2.1. 编辑环境配置组

添加类似环境变量(target_user账号,SSHPASS密码,target_ip服务器地址)

 

2.2.3. 流水线测试阶段

应用--流水线--测试阶段script编辑

 

2.2.4. 脚本截图

  • 注意下方的镜像名为前面设置好scp 及 sshpass 工具包的基础镜像内网地址 10.10.150.105/myapp/alpine:latest

 

2.2.5. 脚本样本

#检查环境变量
env |grep -wE 'SSHPASS|target_user|target_ip'
ls -a
#主体命令sshpass+scp -e 代入前面的密码,还有-o StrictHostKeychecking=no跳过首次KEY检查
sshpass -e scp -o StrictHostKeychecking=no -vr * [email protected]$target_ip:/tmp/1
#清理环境变量
unset target_user target_ip SSHPASS

 

2.3. 效果检查

检查流水构建效果,我们登录 target_ip服务器,可以看到/tmp/1 目录 准确的拷贝了源文件过来

2.4.脚本改进

还能通过代码源日期之类的变量增加一些其他控制。

Related posts:

  1. Docker "fork/exec /proc/self/exe: no such file or directory\""
  2. docker-upgrade
  3. grep awk cut sort uniq sort
  4. nexus and squid
标签: alpine sshpass
最后更新:2020年05月31日

WanJie

正经人谁写博客啊?你写博客吗?写出来的那能叫博客?

点赞
< 上一篇
下一篇 >

文章评论

取消回复

分类目录
  • network
  • Uncategorized
  • unix/linux
  • 业界资讯
  • 公司杂事
  • 数码影像
  • 美剧
  • 美图共赏
  • 英语学习

COPYRIGHT © 2008-2021 一个伪linux粉丝的blog. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS