# GitLab CICD yaml 設定
###### tags: `其它技術`
CI:持續性整合
CD:持續性部署
### Job 參數
* stage:定義 job 要在哪個 stage 執行
* script:job 實際會執行的腳本
* cache:會把套件快取起來,下次啟動同一個 job 的時候會再使用
* artifacts:會把裡面編譯或程式的產出物存放起來,提供介面給其他需要的人使用
* only:代表這個 job 只在特定 branch 執行,寫 branch 名
* ex:
```
only:
- master
```
* when:代表何時會執行。
* manual:指要手動觸發 job
* on_success
* tags:指定符合標籤的 runner 承接工作
* ex:
```
tags:
- docker
```
* image:Docker 需要的 image
* ex: `image: google/cloud-sdk:latest`
* allow_failure:設置 false 有問題就會顯示 failed,而不是驚嘆號 passed
## 參考網址
[功能強大的 -- GitLab CI](https://ithelp.ithome.com.tw/articles/10187654)
[Gitlab-CI 入門實作 — 自動化部署篇](https://nick-chen.medium.com/%E6%95%99%E5%AD%B8-gitlab-ci-%E5%85%A5%E9%96%80%E5%AF%A6%E4%BD%9C-%E8%87%AA%E5%8B%95%E5%8C%96%E9%83%A8%E7%BD%B2%E7%AF%87-ci-cd-%E7%B3%BB%E5%88%97%E5%88%86%E4%BA%AB%E6%96%87-cbb5100a73d4)
[google cloud image](https://hub.docker.com/r/google/cloud-sdk/)