-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.gitlab-ci.yml
34 lines (32 loc) · 1.48 KB
/
.gitlab-ci.yml
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
.generate_available_products_sitemap_template:
image: alpine:latest
stage: deploy
script:
- apk add --no-cache openssh rsync curl
- mkdir -p ~/.ssh
- echo -e "$SSH_PRIVATE_KEY" >> ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
- echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
- export LAST_MOD=$(date +%Y-%m-%d)
- sed -i "s/\${LAST_MODIFICATION_DATE_DAILY_AVAILABLE_PRODUCTS}/$LAST_MOD/" sitemap.xml
- rsync -rav --delete --exclude '.git' . $USER_NAME@$IP_ADDRESS:$CLONE_PATH
- ssh $USER_NAME@$IP_ADDRESS "python3 -m venv $CLONE_PATH/env"
- ssh $USER_NAME@$IP_ADDRESS "source $CLONE_PATH/env/bin/activate ; pip install -r $CLONE_PATH/requirements.txt"
- ssh $USER_NAME@$IP_ADDRESS "cd $CLONE_PATH ; source env/bin/activate ; python generate_available_products_sitemap.py $DB_NAME $DB_USER_NAME '$DB_PASS'"
- ssh $USER_NAME@$IP_ADDRESS "cp $CLONE_PATH/$AVAILABLE_PRODUCTS_SITEMAP_FILE_NAME $SITEMAPS_DIR_PATH"
- scp $USER_NAME@$IP_ADDRESS:$CLONE_PATH/$AVAILABLE_PRODUCTS_SITEMAP_FILE_NAME .
- curl --location --request GET 'http://www.google.com/ping?sitemap=$SITE_ADDRESS/sitemap.xml'
artifacts:
paths:
- $AVAILABLE_PRODUCTS_SITEMAP_FILE_NAME
Generate Available Products Sitemap:
extends: .generate_available_products_sitemap_template
only:
- master
except:
- schedules
when: manual
Generate Daily Available Products Sitemap:
extends: .generate_available_products_sitemap_template
only:
- schedules