Untitled

                Never    
YAML
       
stages:
  - build
  - publish
  - communicate
  - registro

variables:
  MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"
  MAVEN_CLI_OPTS: "--settings .m2/settings.xml --batch-mode --errors -DinstallAtEnd=true -DdeployAtEnd=true"
  REGISTRO_NOME: $CI_REGISTRY/$CI_PROJECT_PATH:${CI_PIPELINE_ID}-rc
  
cache:
  key: "$CI_COMMIT_REF_SLUG"
  paths:
    - .m2/repository/

package:
  image: maven:3.5.4-jdk-8-alpine
  stage: build
  script:
    - ls
    - mvn $MAVEN_CLI_OPTS -Dpje.finalName='pje-${CI_COMMIT_REF_NAME}' clean package --activate-profiles producao,jcr-storage,UseEhCache
  artifacts:
    name: pje-${CI_COMMIT_REF_NAME}.war
    paths:
      - pje-web/target/pje-${CI_COMMIT_REF_NAME}.war
    expire_in: 1 day
    
ftp:
  stage: publish
  before_script:
    - apk update && apk add lftp
  script:
    - lftp -c "open -u $FTP_USER,$FTP_PASS $FTP_HOST; set ftp:ssl-allow no; mput -O $FTP_PATH/ pje-web/target/*.war"
    - lftp -c "open -u $FTP_USER,$FTP_PASS $FTP_HOST; set ftp:ssl-allow no; mput -O $FTP_PATH/scripts/ pje-comum/src/main/resources/migrations/${CI_COMMIT_REF_NAME}/*.sql"
  only:
    - tags

telegram:
  stage: communicate
  script:
    - curl -s -X POST https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage -d chat_id=@${TELEGRAM_CHAT_ID} -d text="${TELEGRAM_MESSAGE}" -d parse_mode=Markdown
  dependencies:
    - ftp
  only:
    - tags

.registro: &registry
  image: docker:dind
  stage: registro
  script:
    - ls -al
    - echo $REGISTRO_NOME
    - cd ./pje-web
  dependencies:
    - package

registro release:
  <<: *registry
  after_script:
    - docker build --no-cache --pull -t $REGISTRO_NOME .
    - docker tag $REGISTRO_NOME $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_TAG
    - docker push $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_TAG
    - docker rmi -f $(docker images --quiet --filter "dangling=true")
  stage: registro
  only:
    - tags

registro release candidate:
  <<: *registry
  after_script:
    - docker build --no-cache --pull -t $REGISTRO_NOME .
    - docker push $REGISTRO_NOME
    - docker rmi -f $(docker images --quiet --filter "dangling=true")
  when: manual

Raw Text