GitLab CI/CD ymdサンプル

前提条件

  • Azureにログインしていること
  • gitlabrunnerがインストールされていること
  • sshツールは下記のものを使用すること
    github.com
tages:
  - build
  - test
  - test_failed
  - test_succeed

build_job_test_win:
  stage: build
  script:
    # Azure ON
    - az vm start --name myVmMachine --resource-group myResourceGroup
    
    #sshサーバデーモン起動まで一定時間待ち合わせる
    - sleep xx

    # vm情報からIPアドレスを抽出する
    $IPAAA =az vm show -d --resource-group $myResourceGroup --name $myVmMachine --query publicIps -o tsv
    echo $IPAAA

    # Host Key Verification確認を無視してSSH接続してコマンドを実行する
    ssh -o "StrictHostKeyChecking=no" userName@接続先IP

    # Azure OFF(停止&割り当て解除)
    - az vm stop --name myVmMachine --resource-group myResourceGroup
    - az vm deallocate --name myVmMachine --resource-group myResourceGroup

# run tests using the binary built before
test:
  stage: test
  script:
    # テストツール取得
    -  cp autoTestExample.exe .
    # Qtテスト実行
    -  ./autoTestExample.exe -o report.xml,xunitxml

  artifacts:
    when: always
    reports:
      junit: report.xml


test_succeed:
  stage: test_succeed
  script:
    - echo "OK"
  when: on_success

test_failed:
  stage: test_failed
  script:
    - echo "NG"
    # redmine_issue.ps1スクリプトを取得
    - cp redmine_issue.ps1 .
    # 実行
    - PowerShell -ExecutionPolicy RemoteSigned ./redmine_issue.ps1 XXX
  when: on_failure