-
Notifications
You must be signed in to change notification settings - Fork 3
/
ci-cron.sh
79 lines (61 loc) · 1.76 KB
/
ci-cron.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#!/bin/bash
echo "[AutoCert] Cron for CI version 3"
export AUTOCERT_CI_MODE=1
git config --global user.email "$CERT_GIT_EMAIL"
git config --global user.name "$CERT_GIT_USER"
if [ -f "./deployment.key" ]; then
echo "[AutoCert] Deployment key file deployment.key found, installing key"
if [ ! -d ~/.ssh/ ]; then
mkdir ~/.ssh/
fi
if [ -f ~/.ssh/id_rsa ]; then
mv ~/.ssh/id_rsa ~/.ssh/id_rsa.autocert-backup
fi
cp -f "./deployment.key" ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
fi
ExitCIShell() {
if [ -f ~/.ssh/id_rsa.autocert-backup ]; then
echo "[AutoCert] Recovering ssh key"
rm ~/.ssh/id_rsa
mv ~/.ssh/id_rsa.autocert-backup ~/.ssh/id_rsa
fi
exit $?
}
git clone --recursive --branch $CERT_GIT_BRANCH --depth=1 "$CERT_GIT_URI" ./data
chmod -R 777 *.sh
echo "[AutoCert] Files in ./ present:"
ls -al ./
chmod -R 777 ./data
chmod +x ./data/config.sh
echo "[AutoCert] Files in ./data present:"
ls -al ./data
git submodule update --init --recursive
chmod -R 777 ./acme
source ./init.sh
./cron.sh
if [ $? -ne 0 ]; then
echo "[AutoCert] acme.sh failed with code $?"
ExitCIShell
fi
pushd ./data
git add .
git commit -m "$CERT_GIT_COMMIT_MESSAGE" -v -a
if [ $? -eq 0 ] || [ "$AUTOCERT_FORCE_PUSH" == true ]; then
echo "[AutoCert] File changes detected"
git push --force -v "origin" $CERT_GIT_BRANCH
# if CERT_GIT_URI_SLAVE is set
if [ ! -z $CERT_GIT_URI_SLAVE ]; then
git remote add slave "$CERT_GIT_URI_SLAVE_PUSH"
git push --force -v "slave" $CERT_GIT_BRANCH
fi
ExitCIShell
else
echo "[AutoCert] No changes to commit."
fi
if [ $CERT_GIT_MAKE_RESULT_ZIP ]; then
echo "[AutoCert] Making cert artifact zip"
zip -9 -r ../result.zip *
fi
popd
ExitCIShell