中字幕视频在线永久在线观看免费-色偷偷88888欧美精品久久久-性生交大片免费看女人按摩-3d动漫精品啪啪一区二区下载

行業(yè)動(dòng)態(tài)

了解最新公司動(dòng)態(tài)及行業(yè)資訊

當(dāng)前位置:首頁>新聞中心>行業(yè)動(dòng)態(tài)
全部 4136 公司動(dòng)態(tài) 1000 行業(yè)動(dòng)態(tài) 3136

源代碼倉庫一臺(tái)配置好環(huán)境的云服務(wù)器使用安裝軟件官網(wǎng)檢驗(yàn)安裝配置

時(shí)間:2022-11-28   訪問量:2253

目錄 源代碼倉庫 環(huán)境配置好的云服務(wù)器 安裝mysql 選擇合適的CI/CD平臺(tái) 在本地代碼倉庫配置 使用自動(dòng)打包搭建演示效果 體驗(yàn)為什么需要

從概念提出至今已近十年服務(wù)器運(yùn)維技術(shù),各種實(shí)用的解決方案相繼在各個(gè)開發(fā)團(tuán)隊(duì)得到應(yīng)用。通過版本控制工具(Git、SVN)+源碼倉庫(Gitee、)+CI/CD平臺(tái)(、、CI...)解決方案,大大提升開發(fā)者的開發(fā)體驗(yàn),降低開發(fā)運(yùn)維成本,提升產(chǎn)品質(zhì)量...

由于個(gè)人經(jīng)驗(yàn)不足,無法繼續(xù)細(xì)說優(yōu)點(diǎn)和功能,推薦一篇博客

基本思路

如何練習(xí)

廢話這么多,不如實(shí)踐一下,看看好壞。圍繞 , , CI 等 CI/CD 平臺(tái),可以很好的實(shí)現(xiàn)持續(xù)集成和持續(xù)部署。在碼云源碼倉庫中,我們可以看到如下流行的程序

并集成在

那么我們真正需要用到哪些技術(shù)和工具來構(gòu)建這樣一個(gè)流水線平臺(tái)呢?

我總結(jié)如下:

掌握流行版本控制工具(Git、SVN)的基本使用 依賴一個(gè)源代碼倉庫(、Gitee) 基本的linux運(yùn)維技術(shù)(SSH遠(yuǎn)程、)一個(gè)CI/CD平臺(tái)(、、CI...)

僅此而已,無需任何編程技能!

精通以上每一項(xiàng)技術(shù)都不是一件容易的事,但我們只需要選擇其中的一項(xiàng)來掌握基本方法,就可以將它們串聯(lián)起來。

我根據(jù)自己的技術(shù)棧設(shè)計(jì)了這樣一個(gè)方案

為此我們需要一步步做一些準(zhǔn)備工作

版本控制工具(Git)學(xué)習(xí)使用

學(xué)習(xí)使用,這里推薦廖雪峰的Git學(xué)習(xí)網(wǎng)站,阮一峰-Git命令列表,阮一峰-Git原理

配置環(huán)境

安裝軟件git官網(wǎng)

檢查安裝

git --version

配置本地用戶信息

git config --global user.name "Name"
git config --global user.email "**.com"
git config --list

源代碼庫

這里就不細(xì)說了,太簡單了,用搜索引擎查一下就可以了,如圖服務(wù)器運(yùn)維技術(shù),我在上面建了一個(gè)這樣的倉庫(空倉庫也可以,后面可以補(bǔ)上代碼)

注意本教程依賴這樣的平臺(tái),必須使用,所以網(wǎng)絡(luò)問題需要自己解決

我們準(zhǔn)備了一個(gè)基于Asp.NET Core 6的圖書館管理系統(tǒng)項(xiàng)目,目錄結(jié)構(gòu)如下圖所示。然后如上圖所示將源碼推送到遠(yuǎn)程代碼倉庫。(推送說明就不詳細(xì)說了,掌握了git的基本使用就明白了)

聯(lián)通公司運(yùn)維服務(wù)管控工作總結(jié)_數(shù)據(jù)中心運(yùn)維服務(wù)解決方案_服務(wù)器運(yùn)維技術(shù)

環(huán)境配置良好的云服務(wù)器

為此,我準(zhǔn)備了一臺(tái)4G運(yùn)行內(nèi)存,8M帶寬的騰訊云服務(wù)器。操作系統(tǒng)是

SSH遠(yuǎn)程登錄

可以使用云服務(wù)器控制臺(tái)提供的遠(yuǎn)程工具,也可以使用遠(yuǎn)程控制工具如. 為了讓后面的操作盡可能的順利,你需要使用一些基本的linux指令,你可以看看這個(gè)linux快速入門視頻。

有免費(fèi)版,下載安裝后,新建一個(gè)如下

然后按照提示輸入賬戶名和密碼

服務(wù)器上安裝的技術(shù)準(zhǔn)備

在這里隨便找了一個(gè)狂生的視頻-詳細(xì)教程,隨便看看,加深理解

為什么博客應(yīng)該使用

我們知道一個(gè)項(xiàng)目需要一個(gè)運(yùn)行環(huán)境才能運(yùn)行。為了運(yùn)行一個(gè)java項(xiàng)目,我們?yōu)榉?wù)器安裝相應(yīng)版本的Jdk或Jre。.Net 應(yīng)用程序需要相應(yīng)版本的.Net 或.Net Core SDK 才能運(yùn)行。,比如我們?nèi)粘J褂玫目蓤?zhí)行程序qq等,都是需要運(yùn)行環(huán)境的,但是已經(jīng)提前安裝了各種版本的.Net,這樣我們安裝完應(yīng)用程序就可以直接使用了。再比如在服務(wù)器上安裝相應(yīng)的數(shù)據(jù)庫(mysql、)。管理這些開發(fā)環(huán)境是一件很煩人的事情,但是當(dāng)我們使用這樣一個(gè)容器化的技術(shù)庫時(shí),代碼就是環(huán)境,可以安裝在任何服務(wù)器上。無需配置任何環(huán)境即可運(yùn)行。

安裝

菜鳥教程-安裝

使用安裝mysql

有了我們安裝mysql就變得簡單了

docker pull mysql

看看我們拉下來的圖片

docker images

docker run -d --name mysql3306 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=******* mysql

查看正在運(yùn)行的服務(wù)

這樣,我們就在服務(wù)器上創(chuàng)建了一個(gè)數(shù)據(jù)庫。這樣的數(shù)據(jù)庫不僅可以在生產(chǎn)環(huán)境中使用,也可以用來學(xué)習(xí)。畢竟在筆記本上安裝數(shù)據(jù)庫會(huì)比較占用內(nèi)存。

所以我可以配置數(shù)據(jù)庫連接字符串在我的項(xiàng)目中使用這個(gè)數(shù)據(jù)庫

無論項(xiàng)目在哪個(gè)主機(jī)上啟動(dòng),都可以成功運(yùn)行。畢竟數(shù)據(jù)庫的IP和密碼是固定的。

選擇合適的 CI/CD 平臺(tái)

上面說了,我用的是我最開始是從Asp.NET Core官網(wǎng)文檔上了解到這個(gè)技術(shù)的。自從被微軟收購后,一直是微軟推薦的CI/CD技術(shù)。

官網(wǎng)文檔

數(shù)據(jù)中心運(yùn)維服務(wù)解決方案_聯(lián)通公司運(yùn)維服務(wù)管控工作總結(jié)_服務(wù)器運(yùn)維技術(shù)

如果你想真正了解這項(xiàng)技術(shù),最好閱讀英文版的文檔??赐辍丁?、《》兩欄目介紹,基本就可以上手了

推薦一篇博客,看完之后可以對(duì)它有一個(gè)簡單的了解 阮一峰-入門

在本地代碼倉庫配置

在我的項(xiàng)目中實(shí)現(xiàn)如下

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["BMS.csproj", "./"]
RUN dotnet restore "BMS.csproj"
COPY . .
WORKDIR "/src/."
RUN dotnet build "BMS.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "BMS.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "BMS.dll"]

嘗試在本地使用包構(gòu)建進(jìn)行部署

我們可以使用這個(gè)文件按照我們想要的方式打包構(gòu)建項(xiàng)目源碼

這里我們簡單演示一下,測(cè)試需要安裝在本地電腦上。

切換到某個(gè)項(xiàng)目目錄下使用

數(shù)據(jù)中心運(yùn)維服務(wù)解決方案_服務(wù)器運(yùn)維技術(shù)_聯(lián)通公司運(yùn)維服務(wù)管控工作總結(jié)

docker build .

這個(gè)沒有標(biāo)簽的圖像是我們剛剛構(gòu)建的

docker run -d --name bmstest -p 8080:80 7ab686d20640

打開瀏覽器檢查是否成功

有效!

但是,它不夠方便。雖然我們每次修改代碼都會(huì)運(yùn)行幾個(gè)命令,別人也可以用我們的鏡像運(yùn)行程序,但是執(zhí)行的命令是固定的。修改代碼后是否可以修改代碼?事實(shí)證明,可以自動(dòng)讓它被打包、構(gòu)建和部署,人類也可以在懶惰中進(jìn)步。

使用自動(dòng)打包構(gòu)建

我們?cè)陧?xiàng)目目錄下自己搭建

name: .NET
env: 
  IMAGE_NAME:  test
on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Setup .NET

聯(lián)通公司運(yùn)維服務(wù)管控工作總結(jié)_數(shù)據(jù)中心運(yùn)維服務(wù)解決方案_服務(wù)器運(yùn)維技術(shù)

uses: actions/setup-dotnet@v1 with: dotnet-version: 6.0.x - name: Restore dependencies run: dotnet restore - name: Test run: dotnet test --no-build --verbosity normal - name: Docker Login uses: docker/login-action@v1.10.0 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and Push uses: docker/build-push-action@v2 with: tags: horaoen/app:latest push: true context: ./BMS - name: deploy uses: appleboy/ssh-action@master with: host: ${{ secrets.HOST }} username: ${{ secrets.HOST_USERNAME }} key: ${{ secrets.HOST_SSHKEY }} script: | docker stop bms-container docker rm bms-container docker rmi horaoen/app:latest docker pull horaoen/app:latest

數(shù)據(jù)中心運(yùn)維服務(wù)解決方案_服務(wù)器運(yùn)維技術(shù)_聯(lián)通公司運(yùn)維服務(wù)管控工作總結(jié)

docker run -d --name bms-container -p 8080:80 horaoen/app

可以看到這里的yml文件引用了幾個(gè)變量。這些都是關(guān)系到用戶安全的東西,不能直接寫在配置文件里,需要在倉庫里設(shè)置

添加您需要的密鑰

詳細(xì)解釋

關(guān)于上面.yml配置文件怎么寫,需要先了解基本原理

然后掌握幾個(gè)用途

其實(shí)這些用戶的項(xiàng)目的基本格式是users/,都是別人寫的腳本。通過復(fù)用別人寫的腳本,我們可以方便的做很多事情。

/@v2

用于將遠(yuǎn)程倉庫中的源代碼拉取到自動(dòng)化構(gòu)建腳本運(yùn)行的服務(wù)器上。這里我們提供ubutu(這個(gè)寫在配置文件里)

/設(shè)置-@v1

這是搭建項(xiàng)目的基礎(chǔ)環(huán)境

/登錄-@v1.10.0

docke官方給的,用于登錄,方便我們后面上傳圖片到自己的圖片倉庫

/build-push-@v2

搭建鏡像,推送到自己的鏡像倉庫。這個(gè)參數(shù)很難理解。其實(shí)就是相對(duì)于遠(yuǎn)程代碼倉庫根路徑的路徑

官網(wǎng)文檔中介紹默認(rèn)文件路徑在/下,所以這個(gè)配置很重要,不能錯(cuò)配。

/ssh-@

當(dāng)我們成功將鏡像推送到鏡像倉庫后,我們需要ssh連接到我們要部署項(xiàng)目的服務(wù)器,然后在上面運(yùn)行一系列的部署項(xiàng)目。

其他參數(shù)一目了然,就是這個(gè)有點(diǎn)麻煩。它是我們要連接的服務(wù)器的 ssh 私鑰。這個(gè)官方網(wǎng)站上給出了教程

官網(wǎng)文檔

您可以按照教程進(jìn)行操作。其實(shí)你已經(jīng)看到了這一點(diǎn),說明你有能力解決這個(gè)問題。詳細(xì)步驟可以查看博客中如何配置ssh keys。需要注意的是,文案盡量有說明的抄,哪怕是單個(gè)字符錯(cuò)了

私鑰還要復(fù)制上下分界線,一個(gè)巨大的坑!?。?/p>

示范效果

查看項(xiàng)目

我們發(fā)現(xiàn)有亂碼,這里只是模擬實(shí)際項(xiàng)目中的bug,現(xiàn)在修改代碼修復(fù)bug

其實(shí)就是改一下,然后重新提交代碼

有效??!

經(jīng)驗(yàn)

顯然從結(jié)果來看,這樣很方便,但是學(xué)習(xí)技術(shù)的過程卻很痛苦。將學(xué)習(xí)過程置于比較條件下是不公平的。學(xué)習(xí)一次,終生受益,但如果不去改變,就永遠(yuǎn)是后患。

上一篇:本文技術(shù)有哪些各種虛擬化技術(shù)物理資源抽象成邏輯

下一篇:1.思杰桌面云可以做外設(shè)管控嗎?(組圖)

發(fā)表評(píng)論:

評(píng)論記錄:

未查詢到任何數(shù)據(jù)!

在線咨詢

點(diǎn)擊這里給我發(fā)消息 售前咨詢專員

點(diǎn)擊這里給我發(fā)消息 售后服務(wù)專員

在線咨詢

免費(fèi)通話

24小時(shí)免費(fèi)咨詢

請(qǐng)輸入您的聯(lián)系電話,座機(jī)請(qǐng)加區(qū)號(hào)

免費(fèi)通話

微信掃一掃

微信聯(lián)系
返回頂部