不看好devops
到目前為止,我們已經能夠設定部署和報告伺服器,從推送新的提交到更新生產中的應用程式都有完整的方法。 但是, 在掌握之前我們能實現什麼自動化? 如果我們進行了一系列檢查以確保我們的應用在部署前行為正確怎麼辦? 這就是github actions派上用場的地方。
github actions是一項功能,可讓您在每次遠端git儲存庫更改時執行自定義檢查以及相應的操作。 使用它的兩種主要方法是在我們的**庫上執行自動檢查或將其用於連續部署。 當我們在自己的伺服器上完成所有cd工作時,我們對前者最感興趣。 也就是說,我們將利用github actions執行測試和其他檢查,以確保我們的**庫正常。
有幾種方法可以管理git工作流程。 我不會過多地研究它,但是歸結為您是否想要功能分支,是否要區分develop
和master
以及是否為每次推送自動部署**。 我研究了一段時間,這對我來說是最有意義的。 就上下文而言,我指的是從事中小型專案的個人或小型團隊。
這是我選擇的工作流程:
我們不需要進行任何配置即可開始。 在.github/workflows
下建立乙個名為nodejs.yml
的檔案並提交,github將自動對其進行處理並在actions
選項卡下顯示nodejs
工作流。
我們的管道將包括三個工作:build
,notify
和create pr
。
我們的構建步驟將包含5個命令,乙個接乙個地執行。
當然,所有步驟都是可選的。 您也可以新增自己的支票。
這是構建作業的完整**:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [8.x, 10. x, 12. x]
steps:
- uses: actions/checkout@v1
- name: use node.js $}
uses: actions/setup-node@v1
with:
node-version: $}
- name: npm install, build, and test
run: |
npm audit
npm ci
npm run lint
npm run build
npm test
strategy.matrix
允許我們在多個node.js版本上並行測試我們的應用程式,這非常方便。
現在,在成功構建後,將webhook傳送到報告伺服器。 請注意從儲存庫機密傳遞webhook_url
。
notify:
needs: build
runs-on: ubuntu-latest
steps:
- name: webhook
uses: joelwmale/[email protected]
env:
webhook_url: $}
github執行構建後,它將觸發到指定url的webhook,以便我們可以捕獲它並顯示一些訊息。
另外,您可以使用jwt或hmac對webhook請求進行簽名(例如,使用此操作 )。
最後,讓我們在成功構建後將pr傳送給master。 帶有github_字首的秘密由github本身提供,因此我們無需在此做任何其他事情。
master-pr:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: create pull request
uses: repo-sync/[email protected]
with:
github_token: $}
關於此工作流程的整潔之處在於,您可以大致了解每個pr的所有作業。
我們做到了! 我們設法建立了部署應用程式的整個工作流程。
這就是我們取得的成就。
每次推送新**:
對**庫進行了審核,以確保沒有安全漏洞
構建工具確保沒有構建時錯誤
執行linter以確保**格式正確
執行測試以確保應用正常執行
公關建立
我們收到通知
每次pr合併到master
:
cd伺服器更新應用程式
cd伺服器通知報告伺服器
我們收到通知
換句話說,所有無聊的工作都是自動完成的,而開發人員的投入卻很少。
翻譯自:不看好devops
不看好MySQL前途
如果oracle沒有資料庫產品,mysql可能會得到極好的發展,可惜的是,oracle幾乎成了資料庫的代名詞 至少算得上 之一 所以為了防止內亂,mysql很有可能會被捨棄掉。分析一下,mysql的下場 原諒我用這個悲觀的詞彙吧 1 最好的情況,被作為乙個oracle的輔助,占領低端市場。這實際上在...
WebOS 前途不看好
十個最炫webos點評來湊數,webos有未來麼?我認為是 沒有 網路上所有的應用的土壤是作業系統,webos也不例外,從這一點講,webos就不可能是linux,unix,win的替代品,充其量只是個補充產品,但是這樣的補充有必要麼?webos的缺點很明顯 慢,不安全,不健壯.webos也是有優點...
我不看好LINQ
領導說 今年linq比較熱門,你去搞搞看看 it行業忽悠比較多,看了之後,我不看好linq。linq language integrated query 是微軟將在c 3.0中推出的語言整合查詢技術。包含linq to sql,linq to object,linq to xml。其中以linq t...