|
1 | 1 | #!/bin/sh
|
2 | 2 |
|
3 |
| -set -eux |
| 3 | +set -eu |
4 | 4 |
|
5 | 5 | # Extract the protocol (includes trailing "://").
|
6 | 6 | DEST_PROTO="$(echo $DEST_REPO | sed -nr 's,^(.*://).*,\1,p')"
|
@@ -40,19 +40,23 @@ SRC_URL="$(echo ${SRC_URL/$SRC_PORT/})"
|
40 | 40 | SRC_PATH="$(echo $SRC_URL | sed -nr 's,[^/:]*([/:].*),\1,p')"
|
41 | 41 | # Remove the path from the URL.
|
42 | 42 | SRC_HOST="$(echo ${SRC_URL/$SRC_PATH/})"
|
43 |
| -# name that can be used for the folder name |
44 |
| -SRC_PROJECT="$(echo $SRC_PATH | sed -nr 's,.*/(.*)\.git,\1,p')" |
| 43 | +# name that can be used for the folder name e.g vendor/repo |
| 44 | +SRC_PROJECT="$(echo $SRC_PATH | sed -nr 's,:(.*)\.git,\1,p')" |
45 | 45 |
|
46 | 46 |
|
| 47 | +printf "\nConfiguring ssh client to use deploy keys\n" |
47 | 48 | mkdir -p ~/.ssh
|
48 |
| - |
49 | 49 | eval `ssh-agent -s`
|
50 | 50 | echo "$SRC_DEPLOY_KEY" | base64 -d | ssh-add -
|
51 | 51 | echo "$DEST_DEPLOY_KEY" | base64 -d | ssh-add -
|
| 52 | + |
| 53 | +printf "\n\nChecking access to $SRC_HOST\n" |
52 | 54 | ssh -o StrictHostKeyChecking=no -T "$SRC_USER$SRC_HOST" -p "$SRC_PORT"
|
| 55 | +printf "\n\nChecking access to $DEST_HOST\n" |
53 | 56 | ssh -o StrictHostKeyChecking=no -T "$DEST_USER$DEST_HOST" -p "$DEST_PORT"
|
54 | 57 |
|
55 | 58 | if [[ ! -d /storage/"$SRC_PROJECT" ]]; then
|
| 59 | + printf "\nCloning $SRC_REPO\n" |
56 | 60 | cd /storage
|
57 | 61 | git clone --bare "$SRC_REPO" "$SRC_PROJECT"
|
58 | 62 | cd /storage/"$SRC_PROJECT"
|
|
61 | 65 |
|
62 | 66 | cd /storage/"$SRC_PROJECT"
|
63 | 67 |
|
| 68 | +printf "\nStarting netcat server on port 8080\n" |
| 69 | + |
64 | 70 | while true; do nc -l -p 8080 -e sh -c 'echo -e "HTTP/1.0 200 OK\r\nDate: $(date)\r\nContent-Length: 2\r\n\r\nOK"; sh /usr/local/bin/mirror.sh;'; done
|
0 commit comments