以下附上,上一篇文章

此文將為,本系列的最後一篇文章,在上一篇文章中,我們完成了自動部署(CD)的部分,而更在上上一篇文章中,完成了自動測試(CI)的部分,所以基本的CI/CD其實都已經完成了,那這一篇文章接著為主要介紹CircleCi2.0新提供的Workflow的一些進階設定,以下附上兩篇CircleCi官方附上的說明。

CircleCi2.0 Workflow(工作流程)

有的時候,你只想要特定的branch執行執行特定的jobs,這時workflow裡的branch filter 就派上有場了

branch filter 主要可以有兩種設定

  1. only(只執行某些branch)
  2. ignore(只忽略某些branch)

就如它字面上的意思,only就是只執行特定的branch,而ignore則是相反,只忽略某些特定的branch,搭配正規表達式,即可 …


延續上一篇文章,上一篇文章我們完成了CI/CD的CI部分,想當然而接下來我們要來挑戰,最難的部分了!CD to AWS,也是CircleCI2.0最多雷的地方……..

以下附上,上一篇文章

CircleCi2.0 for CD

因為這個部分,與我在使用CircleCi1.0的時候,步驟幾乎一樣,所以這裡將不在詳述之,如果有興趣的朋友們,可以參考我之前的文章。

當你完成 AWS Elastic Beanstalk設置後,你將會看到

並且本地端的資料夾會多了,.elasticbeanstalk/config.yml,裡面的內容就會是你當初在設置AWS Elastic Beanstalk做的設定。


延續上一次文章的介紹,我們終於完成了專案的建置,或者我們假設你對於這些東西已經有點熟悉,不想浪費時間一步一步做的話,我們這裡提供一個專案,本專案完成了所有的建置,你可以直接clone起來使用。

git clone https://github.com/ChenPaulYu/docker-cicd-starter.gitcd docker-cicd-starter

以下附上,上一篇文章連結

接著我們將專注在透過CircleCi2.0 CI/CD,Let’s Go!!!

CircleCi2.0 for CI

第一步來到CircleCi -> PROJECTS ,選擇右上藍按鈕 Add Project

第二部選擇,剛剛創立的PROJECT(docker-cicd),按下 Setup project


緣起

在之前的專案做CI/CD都是用CircleCi1.0,而且有沒有使用Docker,雖然說用起來也是蠻方便的,但用起來總還是有一些環境上的問題,難解,因此為了更好開發軟體專案,最近我與朋友開始著手研究使用Docker來部署我們的軟體專案,這時我們發現了一個寶!!!!登登登!!!CircleCi2.0終於結束了Beta版,開始了正式版,而且他對Docker是Native Support,連結如下,

因此我們我們興喜若狂的開始著手將它應用於專案上,還沒用還好,一用就發現…..痾!也太多雷了吧!但頭都已經洗一半了,中途說放棄,是真的有點可惜,所以我們就硬著幹,把他幹出來了,然後在這裡分享給所有想用CircleCi2.0來部署自己軟體專案的大大們。

內容大綱

  1. 建立專案(含Hello World簡易網站、使用Sup …


緣起

這次因為跟朋友一起協作專案的關係,接觸了自己從來都沒有觸碰的領域 -CI/CD跟Github-Flow(以前都自己一個人寫,只想著把功能寫出來,而我在實作的過程中遇到了許多困難,也看了許多網路上大神的文章,終於拼拼湊湊完成了一次完整的CICD建置,因此想把我這次做的功課跟大家分享,以下得文章將完整講述一次基本網頁後端CI/CD環境建置,因為自己是超級新手的關係,而我在看教學文章時,遇到的最大困難,就是網路上的大神突然快速地跳過了某一個步驟,因此這篇文章,為避免大家遇到跟我一樣的問題,因此會盡量完整重現我當初實作的所有事情(希望可以!)

使用工具

  1. Git - 版本管理
  2. Github - 協作、管理程式碼
  3. Node.JS - 建立後端程式
  4. CircleCi 1.0 - 自動建化部署、建置、測試(CI/ …

Paul Chen

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store