在线快3平台

  • <tr id='HaldmF'><strong id='HaldmF'></strong><small id='HaldmF'></small><button id='HaldmF'></button><li id='HaldmF'><noscript id='HaldmF'><big id='HaldmF'></big><dt id='HaldmF'></dt></noscript></li></tr><ol id='HaldmF'><option id='HaldmF'><table id='HaldmF'><blockquote id='HaldmF'><tbody id='HaldmF'></tbody></blockquote></table></option></ol><u id='HaldmF'></u><kbd id='HaldmF'><kbd id='HaldmF'></kbd></kbd>

    <code id='HaldmF'><strong id='HaldmF'></strong></code>

    <fieldset id='HaldmF'></fieldset>
          <span id='HaldmF'></span>

              <ins id='HaldmF'></ins>
              <acronym id='HaldmF'><em id='HaldmF'></em><td id='HaldmF'><div id='HaldmF'></div></td></acronym><address id='HaldmF'><big id='HaldmF'><big id='HaldmF'></big><legend id='HaldmF'></legend></big></address>

              <i id='HaldmF'><div id='HaldmF'><ins id='HaldmF'></ins></div></i>
              <i id='HaldmF'></i>
            1. <dl id='HaldmF'></dl>
              1. <blockquote id='HaldmF'><q id='HaldmF'><noscript id='HaldmF'></noscript><dt id='HaldmF'></dt></q></blockquote><noframes id='HaldmF'><i id='HaldmF'></i>

                行业动态

                了解最新公司动态及行业资讯

                当前位置:首页>新闻中心>行业动态
                全部 2298 公司动态 69 行业动态 2229

                源代码仓库一台配置好环境的云服务器使用安装软件官网检验安装配置

                时间:2022-11-28   访问量:1086

                目录 源代码仓库 环境配置好的云服务器 安装mysql 选择』合适的CI/CD平台 在本地代码仓库配↙置 使用自动打包搭建演示效果 体验为什么需要

                从概念提出至今已近十年服务Ψ 器运维技术,各种实用的解决方案相继在各个开发团队︽得到应用。通过版本◆控制工具(Git、SVN)+源码仓库(Gitee、)+CI/CD平台(、、CI...)解决方案,大大提升开发者的开发体验,降低开发运维成本,提升产品质量「...

                由于个人经验不足,无法继续细说优点和功能,推荐一篇博客

                基本思路

                如何练习

                废话这么多,不如实践一下,看看好坏。围绕 , , CI 等 CI/CD 平台,可以很好的实现持续集成和持续部署。在码云源码仓▆库中,我们可以看到如下流行的程序

                并集成在

                那么我们真正需要用到哪些技术和工具来构建这样一个流水线平台呢?

                我总结如下:

                掌握流行版本控制工●具(Git、SVN)的基本使用 依赖一个源代码仓库(、Gitee) 基本的linux运维技术(SSH远程、)一个CI/CD平台(、、CI...)

                仅此而已,无需任〓何编程技能!

                精通以上每一项技术都不是一件容易的事,但我们只需要选择其中的一项来掌握基本方法,就可以将它们串联起@来。

                我根据自己的技术栈设计了这样一个方案

                为此我们需要一步步做一些准备工作

                版本控制工具(Git)学习使用

                学习使用,这里推荐廖雪峰的Git学习网站,阮一峰-Git命令列表,阮一峰-Git原理

                配置环境

                安装软件git官网

                检查安装

                git --version
                

                配置本地用户信息

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

                源代码库

                这里就不细说ξ 了,太简单了,用搜索引擎查一下就可※以了,如图服务器运维技术,我在上面建了一个这样的仓库(空仓库也可以,后面可以补上代码)

                注意本教程依赖这样的平台,必须使用,所以网络问题需要自己解决

                我们准备了卐一个基于Asp.NET Core 6的图书馆管理系统项目,目录结构如下图所示。然后如上图所示将源码推送到远程代码仓库。(推送说明就Ψ 不详细说了,掌握了git的基本使用就明白了)

                联通公司运维服务管控工作总结_数据中心运维服务解决方案_服务器运维技术

                环境配置良好的云服务器

                为此,我准备了一台4G运行内存,8M带宽⊙的腾讯云服务器。操作系统是

                SSH远程登录

                可以使用云服务器控制台提供的远程工具,也可以使用远程控制工具如. 为了让后面的操作尽可能的顺利,你需要使用一些基本的linux指令,你可以看看这个linux快速入门视频。

                有免费版,下载安装后,新建一个如下

                然后按照提示输入账户名和密码

                服务器上安装的技术准备

                在这里随便找』了一个狂生的视频-详细教程,随便看看,加深理解

                为什么博客应该使用

                我们知道一个项目需要一个运行环境才能○运行。为了运行一个java项目,我们为服务器安装相应版本的Jdk或Jre。.Net 应用程序需要相应版本的.Net 或.Net Core SDK 才能运行。,比如我们日常使用的可执行程序qq等,都是需要运行环境的,但是已经提前安装了各种版本的.Net,这样我们安装完应用程序就可以直接使用了。再比如在服务器上安装相应的数据库(mysql、)。管理这些开发环境是一件很烦人的事情,但是当我们使用这样一个容器化的技术库时,代◤码就是环境,可以安装在任何服务器上。无需配置任何环境即可运行。

                安装

                菜鸟教程-安装

                使用安装mysql

                有了我们安〓装mysql就变得简单了

                docker pull mysql
                

                看看我们拉下来的图片

                docker images
                

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

                查看正在运行的服务

                这样,我们就在服务器上创建了一个数据库。这样的数据库不仅可以在生产环境中使用,也可以用来学习。毕竟在笔记本上安装数据◣库会比较占用内存。

                所以我可以配置数据库连接字符串在我的项目中使用这个数据库

                无论项目在哪个主机上启动,都可以成功运行。毕竟数据库的IP和密码是固定的。

                选择合适的 CI/CD 平台

                上面说了,我用的〒是我最开始是从Asp.NET Core官网文档上了解到这个技术的。自从被微软收购后,一直是→微软推荐的CI/CD技术。

                官网文档

                数据中心运维服务解决方案_联通公司运维服务管控工作总结_服务器运维技术

                如果你想真正了解这项技术卐,最好阅读英文版的文档。看完《》、《》两栏目介绍,基本就可『以上手了

                推荐一篇博客,看完之后可以对它有一个简单的了解 阮一峰-入门

                在本地代码仓库配置

                在我的项目中实现如下

                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"]
                

                尝试在本地使用包构建进行部署

                我们可以使用这个文件按照我们想要的方式打包构建项目源@ 码

                这里我们简单演示一下,测试需要安装在本地电脑上。

                切换到某个项目目录下使用

                数据中心运维服务解决方案_服务器运维技术_联通公司运维服务管控工作总结

                docker build .
                

                这个没有标签的图像是我们刚刚构建的

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

                打开浏览器检查是否成功

                有效!

                但是,它不够方便。虽然我们每次修改代码都会运行几个命令,别人也可以用我们的镜像运行程序,但是执↓行的命令是固定的。修改代码后是否可以修改代码?事实证明,可以自动让它被打包、构建和部署,人类也可以在懒惰中∞进步。

                使用自动打包构建

                我们在项目目录下自己搭①建

                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
                

                联通公司运维服务管控工作总结_数据中心运维服务解决方案_服务器运维技术

                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

                数据中心运维服务解决方案_服务器运维技术_联通公司运维服务管控工作总结

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

                可以看到这里的yml文件引用了几个变量。这些都是关系到Ψ用户安全的东西,不能直接写在配置文件里,需要在仓库∴里设置

                添加您需』要的密钥

                详细解释

                关于上面.yml配置文件怎么写,需要先了解基本原理

                然后掌握几个用途

                其实这些用户的〖项目的基本格式是users/,都是别人写的脚本。通过复用别人写的脚本,我们可以方便▓的做很多事情。

                /@v2

                用于将远程仓库中的源代码拉取到自动化构建脚本运行的服务器上。这里我们提供ubutu(这个写在配置文件里)

                /设置-@v1

                这是搭建项目的基础环境

                /登录-@v1.10.0

                docke官方给的,用于登录,方便我们后面上↘传图片到自己的图片仓库

                /build-push-@v2

                搭建镜像,推送到自己的镜像仓库。这个参数很难理解。其实就是相对于远程代码仓库根路径的路径

                官网文档中介绍默认文件路径在/下,所以这个配置很重要,不能错配。

                /ssh-@

                当我们成功将镜像推送ζ到镜像仓库后,我们需要ssh连接到我们要部署项目的服务器,然后在上面运行一系列的部署项目。

                其他参数一目了然,就是这个有点麻烦。它是我们要连接的服务器的 ssh 私钥。这个官方网站上给出了教程

                官网文档

                您可以按照教程进行操作。其实你已经看到了这一点,说明你有能力解决这个问题。详细步骤可以查看博客中如何配置ssh keys。需要※注意的是,文案尽量有说明的抄,哪怕是单个字符错了

                私钥还要复制上下分界线,一个巨大的坑!!!

                示范效果

                查看项目

                我们发现有乱码,这里只是模拟实际项目中的】bug,现在修改代码修复bug

                其实就是改一下,然后重新提交代码

                有效!!

                经验

                显然从结果来看,这样很方便,但是学习技术的过程却很痛苦。将学习过程置于比较条件下是不公平的。学习一次,终生受益,但如果不去改变◆,就永远是后患。

                上一篇:本文技术有哪些各种虚拟化技术物↙理资源抽象成逻辑

                下一篇:1.思杰桌面云可以做外设管控吗?(组图)

                发表评论:

                评论记录:

                未查询到任何数据!

                在线咨询

                点击这里给我发消息 售前咨询专员

                点击这里给我发消息 售后服务专员

                在线咨询

                免费通话

                24小时免费咨询

                请输入您的联系电话,座机请加区号

                免费通话

                微信扫一扫

                微信联系
                返回顶部