diff --git a/source.yml b/source.yml index 00f145e..652c939 100644 --- a/source.yml +++ b/source.yml @@ -86,6 +86,9 @@ jobs: steps: - checkout - add_ssh_keys + - run: + name: Install jq package + command: sudo apt-get install jq - run: name: Add Docker Server To Known SSH Hosts command: ssh-keyscan -H << parameters.server >> >> ~/.ssh/known_hosts @@ -145,9 +148,11 @@ jobs: set +e ssh << parameters.user >>@<< parameters.server >> "docker ps | grep $CIRCLE_PROJECT_REPONAME | head -n << parameters.fresh_containers_count >>" | awk '{ print $1 }' | tr '\n' '|' | sed 's/|$/\n/' > grep_regex ssh << parameters.user >>@<< parameters.server >> "docker ps | grep $CIRCLE_PROJECT_REPONAME | grep -vE '`cat grep_regex`'" | awk '{print $2}' > old_containers + ssh << parameters.user >>@<< parameters.server >> "docker inspect "`cat old_containers`"" | jq 'map(select(.Config.Labels["pull-request"])) | map({key: .Config.Labels["pull-request"], value: {branch: .Config.Labels["branch"], preview_url: "https://\(.Config.Labels["subdomain"]).<< parameters.domain >>"}}) | from_entries' > workspace/deleted-previews.json ssh << parameters.user >>@<< parameters.server >> "docker rm -f "`cat old_containers`"" ssh << parameters.user >>@<< parameters.server >> "rm -fr "`cat old_containers | sed "s/$CIRCLE_PROJECT_REPONAME-/$CIRCLE_PROJECT_REPONAME\//g"`"" - persist_to_workspace: root: workspace paths: - preview-url + - deleted-previews.json