kind: pipeline name: build-package-deploy steps: - name: build image: composer:1.8.6 commands: - composer -V - composer install - name: secrets image: alpine:3.10 environment: EMAIL_HOST: from_secret: email_host EMAIL_PORT: from_secret: email_port EMAIL_NAME: from_secret: email_name EMAIL_USERNAME: from_secret: email_username EMAIL_PASSWORD: from_secret: email_password HASHOVER_KEY: from_secret: hashover_key HASHOVER_ADMIN: from_secret: hashover_admin HASHOVER_PASSWORD: from_secret: hashover_password PGSQL_DATABASE: from_secret: pgsql_database PGSQL_USERNAME: from_secret: pgsql_username PGSQL_PASSWORD: from_secret: pgsql_password commands: - sed -i "s|email_username|$EMAIL_USERNAME|" bootstrap/comments/backend/classes/secrets.php - sed -i "s|hashover_key|$HASHOVER_KEY|" bootstrap/comments/backend/classes/secrets.php - sed -i "s|hashover_admin|$HASHOVER_ADMIN|" bootstrap/comments/backend/classes/secrets.php - sed -i "s|hashover_password|$HASHOVER_PASSWORD|" bootstrap/comments/backend/classes/secrets.php - mv AppConfigBuild.php AppConfig.php - sed -i "s|pgsql_database|$PGSQL_DATABASE|" AppConfig.php - sed -i "s|pgsql_username|$PGSQL_USERNAME|" AppConfig.php - sed -i "s|pgsql_password|$PGSQL_PASSWORD|" AppConfig.php - sed -i "s|email_host|$EMAIL_HOST|" AppConfig.php - sed -i "s|email_port|$EMAIL_PORT|" AppConfig.php - sed -i "s|email_name|$EMAIL_NAME|" AppConfig.php - sed -i "s|email_username|$EMAIL_USERNAME|" AppConfig.php - sed -i "s|email_password|$EMAIL_PASSWORD|" AppConfig.php - name: synchronize image: alpine:3.10 environment: NAME: edwinmattiacci.com SSH_KEY: from_secret: ssh_key SSH_KEY_PASSWORD: from_secret: ssh_key_password SERVER_USER: from_secret: server_user commands: - apk add openssh - echo "$SSH_KEY" > ssh-key && chmod 600 ssh-key - eval $(ssh-agent) - echo "$SSH_KEY_PASSWORD" | ssh-add ssh-key - > scp -r -o stricthostkeychecking=no -vT -i ssh-key $SERVER_USER@$NAME:/srv/http/edwinmattiacci.com/bootstrap/comments/comments bootstrap/comments/ - ls -la bootstrap/comments/comments/threads - name: minify image: alpine:3.10 commands: - wget https://github.com/tdewolff/minify/releases/download/v2.5.0/minify_2.5.0_linux_amd64.tar.gz - tar -xvf minify_2.5.0_linux_amd64.tar.gz - ./minify --version - ./minify public/css/app.css > public/css/app.min.$(date +%d%m%Y%H%M).css - ./minify public/dist/bar-ui.css > public/dist/bar-ui-css.min.$(date +%d%m%Y%H%M).css - ./minify public/dist/bar-ui.js > public/dist/bar-ui-js.min.$(date +%d%m%Y%H%M).js - sed -i "s|app.css|$(find public/css -name "app.min*" | awk -F/ '{print $NF}')|" views/partials/header.common.php - sed -i "s|bar-ui.css|$(find public/dist -name "bar-ui-css*" | awk -F/ '{print $NF}')|" views/partials/header.common.php - sed -i "s|bar-ui.js|$(find public/dist -name "bar-ui-js*" | awk -F/ '{print $NF}')|" views/partials/footer.php - name: prepare image: alpine:3.10 commands: - sed -i 's|/posts/|https://www.edwinmattiacci.com/posts/|' generators/hugo/config.toml - head -1 generators/hugo/config.toml - mkdir public/posts - cd generators/hugo && ln -s ../../public/posts/ public - name: hugo image: alpine:3.10 commands: - apk add hugo - hugo version - cd generators/hugo && hugo - cd ../../ && cp public/posts/sitemap.xml public/sitemap.xml - name: deploy image: alpine:3.10 environment: NAME: edwinmattiacci.com SSH_KEY: from_secret: ssh_key SSH_KEY_PASSWORD: from_secret: ssh_key_password SERVER_USER: from_secret: server_user commands: - apk add openssh - echo "$SSH_KEY" > ssh-key && chmod 600 ssh-key - eval $(ssh-agent) - echo "$SSH_KEY_PASSWORD" | ssh-add ssh-key - > tar -czf edwinmattiacci.tar.gz assets bootstrap controllers generators model public vendor views AppConfig.php composer.json composer.lock - > scp -r -o stricthostkeychecking=no -vT -i ssh-key edwinmattiacci.tar.gz $SERVER_USER@$NAME:/srv/deploys/edwinmattiacci.com/ - > ssh -o stricthostkeychecking=no -vT -i ssh-key $SERVER_USER@$NAME ' export DATE=$(date +%H%M-%d%m-%Y) && cd /srv/deploys/edwinmattiacci.com && mkdir edwinmattiacci.com-$DATE && tar -xvf edwinmattiacci.tar.gz -C edwinmattiacci.com-$DATE && rm edwinmattiacci.tar.gz && ln -s edwinmattiacci.com-$DATE edwinmattiacci.com-deploy-$DATE && mv -Tf edwinmattiacci.com-deploy-$DATE edwinmattiacci.com-deploy && chown nginx:nginx -R edwinmattiacci.com-deploy edwinmattiacci.com-$DATE && ls -la '