一个伪linux粉丝的blog

  1. 首页
  2. unix/linux
  3. 正文

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

5月 31, 2020 524点热度 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.脚本改进

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

相关文章:

  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
最后更新:5月 31, 2020

wanjie

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

取消回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据。

归档
分类
  • network / 324篇
  • Uncategorized / 116篇
  • unix/linux / 114篇
  • 业界资讯 / 38篇
  • 公司杂事 / 11篇
  • 数码影像 / 12篇
  • 美剧 / 3篇
  • 美图共赏 / 20篇
  • 英语学习 / 3篇
标签聚合
gitlab Opera Mini Google 中国电信 邮件归档 Ubuntu ldap 泰国 VPS 网通 Google Adwords docker wget Google Voice brew Nginx dreamhost 虚拟主机 dreamhost空间 Android jira debian k8s kernel 网站运营 Linux nexus 刷机 d90 iMac

COPYRIGHT © 2008-2022 wanjie.info. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang