自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用GitHub Actions將代碼部署到Azure!

譯文
開源
微軟的GitHub Actions for Azure讓你可以從GitHub內(nèi)部自動(dòng)化管理Azure開發(fā)生命周期。

[[283601]]

【51CTO.com快譯】構(gòu)建現(xiàn)代應(yīng)用程序絕非按F5鍵后開始構(gòu)建這么簡(jiǎn)單。代碼只是整個(gè)過程的一部分。構(gòu)建有效的CI/CD(持續(xù)集成/持續(xù)交付)服務(wù)是培育DevOps文化及自動(dòng)化管理軟件開發(fā)生命周期的關(guān)鍵部分。

自動(dòng)化是整個(gè)過程的重要方面。你只需簽入更新或合并pull request,就能夠運(yùn)行測(cè)試、驅(qū)動(dòng)構(gòu)建、包裝代碼甚至部署代碼。微軟旗下的GitHub之類的工具對(duì)公共代碼和私有代碼而言都變得越來越重要,我們圍繞它們構(gòu)建的工作流程是自動(dòng)構(gòu)建軟件的關(guān)鍵。

GitHub Actions簡(jiǎn)介

GitHub最近發(fā)布了GitHub Actions自動(dòng)化工具的正式版。與Jenkins或Travis等以構(gòu)建為中心的CI/CD工具不同,GitHub Actions專注于你的代碼。這種方法不僅對(duì)GitHub來說很有意義,而且對(duì)開發(fā)人員來說比其他工具更有效。你可能已經(jīng)在使用基于Git的開發(fā)工作流程,使用分支、pull request、代碼審查和合并來管理開發(fā)團(tuán)隊(duì)協(xié)作開發(fā)應(yīng)用程序的方式。

GitHub Actions是一種基于事件的工作流程服務(wù),它使用常見的GitHub事件在GitHub內(nèi)部或在其他開發(fā)工具中觸發(fā)操作。GitHub中托管的代碼可以在GitHub托管的環(huán)境中加以測(cè)試和運(yùn)行,你也可以在自己的環(huán)境中托管自己的運(yùn)行器。執(zhí)行工作流程步驟時(shí),結(jié)果將顯示在GitHub視圖中,你可以按照自己的步調(diào)逐步執(zhí)行。

你可以用YAML編寫工作流程,一系列作業(yè)(job)與觸發(fā)器相關(guān)聯(lián)。作業(yè)可以串行或并行運(yùn)行,因此如果你適當(dāng)調(diào)整GitHub Actions,可以顯著加快速度。因而獲得的工作流程描述易于閱讀;由于它是代碼,你可以在GitHub中存儲(chǔ)和管理各種Actions。入門工作流程庫有助于加快開發(fā)流程的自動(dòng)化。

GitHub Actions與Azure結(jié)合使用

微軟一直在開發(fā)一套與Azure結(jié)合使用的GitHub Actions,現(xiàn)在這些也有了正式版。最初的一套專注于將工件從GitHub部署到Azure。由于托管在GitHub存儲(chǔ)庫中,最好將它們視作一系列Actions的端點(diǎn),拿來構(gòu)建好的代碼和容器后交付給Azure的平臺(tái)服務(wù)。一組將GitHub Actions與Azure App Services整合起來,另一組控制部署到Azure Kubernetes Services的工作。你可以將Azure CLI用作運(yùn)行器,使用GitHub Actions觸發(fā)管理Azure資源的腳本。其他操作包括管理Azure數(shù)據(jù)庫以及構(gòu)建和部署Azure Functions。

你先需要使用預(yù)生成的服務(wù)原則登錄到Azure。 GitHub Actions包括自己的秘密存儲(chǔ)區(qū),因此你可以使用Azure CLI創(chuàng)建令牌,然后將其復(fù)制到Action的存儲(chǔ)區(qū)中,用于將來的每個(gè)連接。將一個(gè)令牌放在安全存儲(chǔ)區(qū)中降低了風(fēng)險(xiǎn),同時(shí)仍讓Actions可以自動(dòng)執(zhí)行與Azure的交互。額外的登錄操作將管理連接至AKS和Azure容器注冊(cè)中心的工作。

從GitHub Action部署到Azure App Service支持使用常見的存檔格式或使用容器。值得一提的是,微軟的操作確實(shí)依賴其他GitHub Actions,比如為你的代碼創(chuàng)建.NET環(huán)境。

微軟提供了一組入門GitHub Actions for Azure,幫助你將它們整合到開發(fā)工作流程中。示例代碼顯示了GitHub Actions for Azure如何運(yùn)行以及它們?nèi)绾闻c其他Actions協(xié)同運(yùn)行。已發(fā)布的YAML顯示了一系列GitHub的自有操作,比如處理存儲(chǔ)庫簽出,以及在通過其中一個(gè)GitHub Actions for Azure部署代碼之前安裝Node.js運(yùn)行器以構(gòu)建和測(cè)試代碼。

實(shí)際的部署很簡(jiǎn)單;只需要存儲(chǔ)的秘密和應(yīng)用程序名稱。秘密可以是發(fā)布配置文件登錄信息;如果是較復(fù)雜的部署(交付容器),你可以使用一組服務(wù)原則,并登錄到Azure帳戶。你的Actions完成后,別忘了退出!

自動(dòng)化管理CI/CD比較有意思的方面之一可能是,我們不僅限于一個(gè)平臺(tái)。我們正在使用開放的API將服務(wù)器和服務(wù)連接在一起。自動(dòng)化可以從Visual Studio開始,通過GitHub Actions繼續(xù)下來,然后進(jìn)入Azure Pipelines,之后將構(gòu)建工件存儲(chǔ)在GitHub存儲(chǔ)庫中。混合搭配的功能很關(guān)鍵。我們不僅限于一種做事方式;我們可以選擇工具并以最適合我們工作流程的方式來配置它們。如果你需要在開發(fā)的某個(gè)環(huán)節(jié)使用Jenkins,就可以使用它,與Azure DevOps或你環(huán)境中的其他任何平臺(tái)一起使用。

本質(zhì)上講,這是一種全然不同的管理應(yīng)用程序開發(fā)的方式,現(xiàn)在由我們的源代碼存儲(chǔ)庫推動(dòng)。這導(dǎo)致GitHub重新考慮其在開發(fā)生態(tài)系統(tǒng)中的作用,因?yàn)樗@然不再是我們僅僅存儲(chǔ)和審查代碼的平臺(tái)。

代碼歸檔千年

GitHub立足于搜索和索引數(shù)百萬行公共代碼的能力,正利用該專長(zhǎng)來試圖使我們構(gòu)建的代碼更安全,并添加集成的工具,以便及早發(fā)現(xiàn)安全問題、進(jìn)行安全報(bào)告以及管理公共存儲(chǔ)庫中的安全事件?,F(xiàn)在,我們的代碼依賴許多不同的開源開發(fā)團(tuán)隊(duì),這需要使用今年早些時(shí)候GitHub從Dependabot獲得的工具來自動(dòng)修復(fù)依賴項(xiàng)問題。

GitHub在代碼生態(tài)系統(tǒng)的核心扮演重要角色,現(xiàn)計(jì)劃將你的代碼保存數(shù)百年、甚至數(shù)千年。作為該計(jì)劃的一部分,它最近在靠近全球種子庫的斯瓦爾巴德礦山保存了第一批代碼。由于放在北極氧氣稀薄的巖石深處,光學(xué)編碼數(shù)據(jù)存儲(chǔ)罐至少可以保存500年。該項(xiàng)目的下一階段將在2020年2月2日將所有公共存儲(chǔ)庫做成映像,存儲(chǔ)在同一個(gè)保管庫中。

GitHub正在考慮其他代碼歸檔方法,與Long Now Foundation、牛津大學(xué)博德利圖書館和互聯(lián)網(wǎng)檔案館等組織合作,不僅保存我們的代碼,還保存我們圍繞代碼建立的社交網(wǎng)絡(luò)和討論內(nèi)容。甚至可能使用微軟研究院的Project Silica基于3D玻璃的存儲(chǔ)技術(shù)來創(chuàng)建壽命更久的檔案。

IT行業(yè)的歷史還不到一個(gè)世紀(jì),而我們已經(jīng)在建立可以保存數(shù)千年的代碼庫。這標(biāo)志著軟件和開發(fā)的重要性及其對(duì)文明的意義。對(duì)于開發(fā)人員來說,責(zé)任重大。

原文標(biāo)題:Use GitHub Actions to deploy code to Azure, 作者:Simon Bisson

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:龐桂玉 來源: 51CTO
相關(guān)推薦

2021-05-13 21:21:50

React應(yīng)用GitHub

2024-01-24 18:50:21

WebFTP服務(wù)器

2022-11-15 17:07:40

開發(fā)自動(dòng)化前端

2024-12-31 09:46:45

2024-02-20 08:08:43

2022-07-13 09:17:42

Azure虛擬機(jī)加密貨幣云資源

2022-12-21 08:20:01

2020-12-04 10:42:54

GithubSSDNode.js

2021-03-26 08:41:11

Go語言Docker

2023-05-10 15:38:14

2024-12-02 07:00:00

特性標(biāo)記軟件開發(fā)Action

2021-01-18 18:30:49

服務(wù)器開發(fā)工具

2021-10-03 14:47:26

Fedora CoreGitHub Acti運(yùn)行器

2021-01-19 05:26:22

Github ActiJenkinsDevOps

2014-09-01 09:49:24

github

2023-09-05 08:00:00

開源GreptimeDB

2019-12-20 10:28:54

工具代碼開發(fā)

2021-04-20 09:36:49

黑客網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2022-05-27 08:55:15

工具自動(dòng)化軟件

2021-01-15 08:52:09

GitHub GitHubActio博文發(fā)布
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)