在docker中自动提交git
Dockerfile // docker构建必须
auto.sh // 脚本,负责git的提交逻辑
id_rsa // ssh私钥 自行生成 !!!!!!!!!!
id_rsa.pub // ssh公钥 自行生成 !!!!!!!!!! 将这个配置到个人公钥
- 编写Dockerfile文件,了解的可以自行修改,不懂就不动
- Dockerfile
FROM lhlyu/git:v2
MAINTAINER "lhlyu"
ADD id_rsa /root/.ssh
ADD id_rsa.pub /root/.ssh
ADD auto.sh /home
RUN chmod 700 -R /root/.ssh
RUN chmod 777 /home/auto.sh
- 编写脚本,这里面需要修改的都用中文标出
- auto.sh
#!/bin/bash
function rand(){
min=$1
max=$(($2-$min+1))
num=$(date +%s%N)
echo $(($num%$max+$min))"h"
}
cd /home
git config --global user.name "用户名字"
git config --global user.email "用户邮箱"
# 例子: git clone git@gitee.com:lhlyu/仓库名.git,不要使用https协议
git clone git@xxxxxxx
cd 仓库名
while true ;do
date >> test.log
git add .
git commit -m "update"
git push
# 随机生成下一次提交的间隔时间 1 到 18 内的数字,单位是小时
value=$(rand 1 18)
echo $value
sleep $value
done
- 将四个文件放到服务器的某个文件夹下,按顺序执行下面步骤,懂的可以自行修改名字
docker build -t job .
docker run -itd job /home/auto
- 这样就OK了,可以看看有没有启动成功
docker ps | grep job