stages: - build-dev - push-dev - deploy-dev # - .post workflow: rules: # - if: $CI_COMMIT_MESSAGE =~ /\A(?i)-wip/ # when: never # - if: '$CI_PIPELINE_SOURCE == "push"' - if: $CI_MERGE_REQUEST_IID - if: $CI_COMMIT_TAG - if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $CI_DEFAULT_BRANCH image: docker:19.03.12 # variables: # # Docker Variables # DOCKER_TLS_CERTDIR: "/certs" # services: # - name: docker:19.03.12-dind before_script: - echo "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" - echo "$CI_COMMIT_REF_NAME" # Build build dev workflow: stage: build-dev script: - docker build -t marconi.aoc.nrao.edu/workspaces/workflow:$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME -f services/workflow/Dockerfile.dev . - docker tag marconi.aoc.nrao.edu/workspaces/workflow:$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME marconi.aoc.nrao.edu/workspaces/workflow:$CI_COMMIT_SHORT_SHA rules: - if: $CI_COMMIT_MESSAGE =~ /\A(?i)Revert/ when: always - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' changes: - .gitlab-ci.yml when: always - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' changes: - services/workflow/**/* - apps/cli/**/*.{py,sh} - shared/**/*.{py,sh} build dev capability: stage: build-dev script: - docker build -t marconi.aoc.nrao.edu/workspaces/capability:$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME -f services/capability/Dockerfile.dev . - docker tag marconi.aoc.nrao.edu/workspaces/capability:$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME marconi.aoc.nrao.edu/workspaces/capability:$CI_COMMIT_SHORT_SHA rules: - if: $CI_COMMIT_MESSAGE =~ /\A(?i)Revert/ when: always - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' changes: - .gitlab-ci.yml when: always - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' changes: - services/capability/**/* - apps/cli/**/*.{py,sh} - shared/**/*.{py,sh} # Push push dev workflow: stage: push-dev script: - echo "$HARBOR_PASSWORD" | docker login -u "$HARBOR_USER" --password-stdin $HARBOR_URL - docker tag marconi.aoc.nrao.edu/workspaces/workflow:$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME marconi.aoc.nrao.edu/workspaces/workflow:dev - docker push marconi.aoc.nrao.edu/workspaces/workflow:$CI_COMMIT_SHORT_SHA - docker push marconi.aoc.nrao.edu/workspaces/workflow:$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME - docker push marconi.aoc.nrao.edu/workspaces/workflow:dev rules: - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "development"' when: manual # needs: ["build dev workflow"] push dev capability: stage: push-dev script: - echo "$HARBOR_PASSWORD" | docker login -u "$HARBOR_USER" --password-stdin $HARBOR_URL - docker tag marconi.aoc.nrao.edu/workspaces/capability:$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME marconi.aoc.nrao.edu/workspaces/capability:dev - docker push marconi.aoc.nrao.edu/workspaces/capability:$CI_COMMIT_SHORT_SHA - docker push marconi.aoc.nrao.edu/workspaces/capability:$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME - docker push marconi.aoc.nrao.edu/workspaces/capability:dev rules: - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "development"' when: manual # needs: ["build dev capability"] # Cleanup # clean runner: # stage: .post # script: # - docker images -q --filter=reference="marconi.aoc.nrao.edu/workspaces/*" | xargs docker rmi -f # Tests # # Deploy # deploy dev: # stage: deploy-dev # script: # - docker-compose --version # when: manual # Deploy # deploy dev: # stage: deploy-dev # script: # - env SWARM_NODE_ENV="dev" docker stack deploy --compose-file docker-compose.dev.yml workspaces-dev # when: manual