iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 16
0
DevOps

從 0 到 1 的 DevOps 執行日記 - 全方位平台實踐手冊系列 第 16

【Day-16】我們是怎麼開始的?:一間傳統軟體公司從 0 開始建置的 DevOps 文化(實作篇)- 後端(2)

  • 分享至 

  • xImage
  •  

#前言
昨天我們看了一個 Bitbucket Pipeline 的範例

This is a sample build configuration for JavaScript.
# Check our guides at https://confluence.atlassian.com/x/14UWN for more examples.
# Only use spaces to indent your .yml configuration.
# -----
# You can specify a custom docker image from Docker Hub as your build environment.
image: node:lts

pipelines:
  default:
    - step:
        caches:
          - node
        script: # Modify the commands below to build your repository.
          - yarn install
          - yarn build
  branches:
    develop:
      - step:
          name: build and test
          caches:
          - node
          script: # Modify the commands below to build your repository.
          - yarn install
          - yarn build
          - yarn test:cov
      - step:
          name: deploy with tag
          script:
            # - apt-get update
            # - apt-get install -y unzip git
            - echo "Clone all the things!"
            - git tag -am "Tagging App for release ${BITBUCKET_BUILD_NUMBER}" v${BITBUCKET_BUILD_NUMBER}
            - git push origin v${BITBUCKET_BUILD_NUMBER}
    master:
      - step:
          name: build and test
          caches:
          - node
          script: # Modify the commands below to build your repository.
          - yarn install
          - yarn build
          - yarn test:cov
      - step:
          name: deploy with tag
          script:
            # - apt-get update
            # - apt-get install -y unzip git
            - echo "Clone all the things!"
            - git tag -am "Tagging App for release ${BITBUCKET_BUILD_NUMBER}" release${BITBUCKET_BUILD_NUMBER}
            - git push origin release${BITBUCKET_BUILD_NUMBER}

我們就開始來解析吧!

image: node:lts

代表的是要用什麼鏡像來執行,這邊用的是 node.jsLTS 版本

pipelines:
  default:
    - step:
        caches:
          - node
        script: # Modify the commands below to build your repository.
          - yarn install
          - yarn build

這邊描述所有預設的 branches 都要做的事情,caches 代表使用 npm 的快取。

script 表示的是要執行的指令,這邊執行了 yarn installyarn build 只要這兩個指令通過,就代表 Pipeline 成功了!

    develop:
      - step:
          name: build and test
          caches:
          - node
          script: # Modify the commands below to build your repository.
          - yarn install
          - yarn build
          - yarn test:cov
      - step:
          name: deploy with tag
          script:
            # - apt-get update
            # - apt-get install -y unzip git
            - echo "Clone all the things!"
            - git tag -am "Tagging App for release ${BITBUCKET_BUILD_NUMBER}" v${BITBUCKET_BUILD_NUMBER}
            - git push origin v${BITBUCKET_BUILD_NUMBER}

這邊代表的是在 develop 分支下要執行的 Pipeline,除了有 default 的一些指令外,還另外加了 yarn test:cov,並且還會自行產生 Version Tag,這個 Version Tag 會觸發後面的部署流程,這個我們明天繼續!

最後是 master 分支的工作。其實跟 develop 大同小異,只是 Version Tag 的命名方式不一樣而已!

- git push origin release${BITBUCKET_BUILD_NUMBER}

OK!我們今天介紹了整個 Bitbucket Pipeline 最基礎的用法,明天就讓我們來介紹如何觸發 Google Cloud Build


上一篇
【Day-15】我們是怎麼開始的?:一間傳統軟體公司從 0 開始建置的 DevOps 文化(實作篇)- 後端(1)
下一篇
【Day-17】我們是怎麼開始的?:一間傳統軟體公司從 0 開始建置的 DevOps 文化(實作篇)- 後端(3)
系列文
從 0 到 1 的 DevOps 執行日記 - 全方位平台實踐手冊30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言