今天收到一個需求是希望把 Docker tag 上面的 v 移除掉,因為我們開發通常用 npm 做版本管理並且自動上 tag,所以 tag 就會像是 v1.0.0
因此在使用 GitLab CI 的 CI_COMMIT_TAG 變數就會有 v,那要如何可以把這個 v 移除掉呢?其實我們可以在變數的地方用 shell 指令把第一個字元移除,就可以達成我們要的功能了實驗一下功能
$ version=v1.0.0 $ echo $version v1.0.0 $ tag=${version:1} $ echo $tag 1.0.0
得到了以上的結果就可以把它實作在 .gitlab-ci.yml
上面拉!
stages: - build build: image: docker:stable stage: build script: - tag=${CI_COMMIT_TAG:1} - docker pull $REPOSITORY_URL:latest || true - docker build --cache-from $REPOSITORY_URL:latest --tag $REPOSITORY_URL:$tag --tag $REPOSITORY_URL:latest . - docker push $REPOSITORY_URL:$tag - docker push $REPOSITORY_URL:latest only: - tags
以上就是這次的實驗結果,希望對大家有幫助!
《AWS CDK 完全學習手冊:打造雲端基礎架構程式碼 IaC》
第 12 屆 iT 邦幫忙鐵人賽 DevOps 組冠的《用 CDK 定 義 AWS 架構》
第 11 屆 iT 邦幫忙鐵人賽《LINE bot 好好玩 30 天玩轉 LINE API》
一個熱愛分享的雲端工程師!