一个伪linux粉丝的blog

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

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

31 5 月, 2020 929点热度 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 * $target_user@$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
最后更新:31 5 月, 2020

wanjie

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

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

This site uses Akismet to reduce spam. Learn how your comment data is processed.

归档
分类
  • network / 332篇
  • Uncategorized / 116篇
  • unix/linux / 121篇
  • 业界资讯 / 38篇
  • 公司杂事 / 11篇
  • 数码影像 / 12篇
  • 美剧 / 3篇
  • 美图共赏 / 21篇
  • 英语学习 / 3篇
标签聚合
ssh debian Nginx VPS 网站运营 虚拟主机 openssl Ubuntu dreamhost空间 ldap kernel dreamhost jira 浏览器 kubectl google-chrome k8s 泰国 天翼live 邮件归档 nexus docker postgres gitlab Google Voice deepseek d90 wget Google squid

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

Theme Kratos Made By Seaton Jiang