一个伪linux粉丝的blog

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

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

5月 31, 2020 350点热度 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 / 322篇
  • Uncategorized / 114篇
  • unix/linux / 108篇
  • 业界资讯 / 38篇
  • 公司杂事 / 11篇
  • 数码影像 / 12篇
  • 美剧 / 3篇
  • 美图共赏 / 20篇
  • 英语学习 / 3篇
标签聚合
中国电信 Ubuntu Android VPS jira 职责 邮件归档 泰国 网站运营 CentOS 刷机 gitlab 虚拟主机 网通 d90 Google ssh dreamhost ipv6 k8s Linux Google Voice wget 知识管理 nexus docker 黑莓8700 Nginx kernel ldap

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

Theme Kratos Made By Seaton Jiang