Git管理本地项目-Azure DevOps(CI)持续集成-WebApp部署(CD)

实践操作(2)

Azure DevOps 配置CI-持续集成

我们都知道编译项目代码是需要一台计算机作为编译机的,在这里我们使用本机作为Azure DevOps CI的编译机。

在Azure DevOps中配置Self-host Agent

将本机配置成编译的代理机器:
1.打开本地的cmd 生成一个Key

ssh-keygen -t rsa -C "你的Azure DevOps 邮箱"

在这里插入图片描述
它会给这个账号创建一个连接的Key,会存储在一个.ssh的文件夹里面,如果它检测到没有这个文件夹会自动给你创建,如上图Key保存在
Your public key has been saved in C:\Users\My/.ssh/id_rsa.pub 这个里面。
然后打开这个文件,复制Key,我们需要将这个Key配置到Azure DevOps上。
我们回到Azure DevOps 找到User Settings -> SSH public keys
在这里插入图片描述
进去之后点击右上角 +New Key ,然后输入一个名称,将刚刚复制的Key粘贴到Public Key Data中。
2.在本地的cmd 中创建一下关联的账号密码设置
在这里插入图片描述
(账号安全配置,name自定义,email为Azure DevOps 邮箱)
打完之后回车,没有任何反应说明配置成功。
3.配置编译代理池,回到Azure DevOps 在左下角找到Organization Settings->Agent pools
在这里插入图片描述
它默认会有两个池,我们的编译机需要放在池里,而一个编译池可以有很多台机器同时工作,
这两个池是微软提供的,如果使用我们需要提前两天申请工单,这里我们新建一个池来承载我们的编译机。点击右上角add pool 我们是本机,这个选择类型为Self-hosted,然后给定一个名字,点击创建。
在这里插入图片描述
点击我们刚刚创建的池,在里面创建agent。点击New agent.
在这里插入图片描述
因为我们这里是本机所以我们按照他的步骤直接点击Download下载压缩文件夹并解压。(下载可能需要一些时间)。
本地解压过后的文件如下图所示:
在这里插入图片描述
点击config.cmd进行连接。(这一步是件本机配置成agent)
在这里插入图片描述
第一步让你输入一个服务器的URL,这个就是复制你Azure DevOps 的URL直到你一开始创建的组织结束。
第二步是说身份验证类型,本机直接回车
第三步是个人访问令牌,我们需要去Azure DevOps上创建,注意token只显示一次,如果关闭了不能再看,所以注意保存,现在我们回到Azure DevOps 创建一个令牌。
点击User Settings->Personal access tokens
在这里插入图片描述
输入一个名字,选定组织名(你自己创建的),token保存时间。Scpoes是权限,一般正常开发项目我们需要自定义一些权限,在这里我们给了所有权限Full。
在这里插入图片描述
复制下来token点击关闭。
在这里插入图片描述
代理池我们自己创建的所以我们输入自己的创建的池名称。
代理名称是本机,我们直接回车。
之后等他检测本机所需要的工具
之后的直接回车/(Y)就好.
在这里插入图片描述
这时候我们可以看到在我们的池中可以看到本机已经配成agent了,但是他的状态是offline,不在线的,因为还没有启动,接下来我们点击下一个文件run.cmd
在这里插入图片描述
在这里我们可以看到本地使用cmd已经连接到Azure DevOps服务器了,而Azure DevOps 上的本机也变成了online在线了,说明本机已配置成了一台代理编译机。(注意:run.cmd不要关闭,如果关闭服务连接断开,服务就停掉了

在这里插入图片描述

现在编译机已经配置好了,服务也启动了,下一步我们在Azure DevOps 上配置Pipeline 管道里面的CI。
首先我们点击项目里面的Pipelines然后再点击Pipelines里面的Pipelines,点击右上角New Pipeline,创建一个管道来承载CI 和 CD 。

在这里插入图片描述
配置Pipelines管道需要有一个YAML的配置文件,我们如果不想写代码来生成YAML文件,可以点击Use the classic editor 来使用默认生成的YAML文件。
在这里插入图片描述
因为我们的数据源是Azure DevOps Repos 所以选第一个,选中项目,仓库,分支等选完后点击Continue。
在这里插入图片描述

下面有很多模板,这是我们的例子是C#的 API项目,所以我们选择上图template。(点击Apply)
在这里插入图片描述

在这里插入图片描述
这里我们需要注意我们的Agent pool需要绑定我们自己创建的。
在这里插入图片描述

在这里插入图片描述

到最后左侧的Agent job对勾全勾上代表编译已完成(最后两个有时候会勾上,有时候勾不上不需要管他,不影响)

在这里插入图片描述
接下来我们可以看一下,编译结果的文件是什么形式的。
在这里插入图片描述
点击编译好的job,然后点击图中标注published。然后点击drop,展开后发现他其实打包成了一个zip文件。编译到此完成。

Azure DevOps 配置CD

我们需要知道 CI 和CD、Pipelines的关系,Pipelines(管道)它是CI,CD的承载着,便编译和部署需要在管道中进行,而CI(编译)的输出,就是CD(部署)的输入。我们需要理解,其实编译的目的就是为了让我们的代码转换成电脑可以识别的语言,然后打成包,部署到服务器上。

点击Pipelines->Releases->Create release

在这里插入图片描述
Artifacts就是在让你选择编译的包版本,因为你会编译很多次,系统会默认给你编译的产出物标著上版本,而且会自动给你选择最高的版本,然后点击创建。

在这里插入图片描述
之后我们点击Edit tasks进行配置,这里也需要注意让选Agent pool时一定要改为我们自己创建的Agent pool。然后选择订阅,选择部署的位置,需要注意的是,(以Azure App Service)为例,我们需要部署到上面,我们在部署之前可以先在Azure portal门户上先行创建,之后我们在Azure DevOps 中直接选择需要部署的AppService 就好了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
GitLab-CI/CD可以很方便地集成Dependency-Check来实现依赖扫描。下面是具体的集成步骤: 1. 安装Dependency-Check 首先需要安装Dependency-Check工具。可以到官网下载对应的软件包,然后解压到任意目录即可。 2. 配置GitLab-CI/CD项目的根目录下创建一个名为`.gitlab-ci.yml`的文件,并添加以下内容: ``` image: maven:3.6.3-jdk-11 stages: - build - test - dependency-check before_script: - mvn --version build: stage: build script: - mvn clean package test: stage: test script: - mvn test dependency-check: stage: dependency-check script: - wget https://dl.bintray.com/jeremy-long/owasp/dependency-check-5.3.2-release.zip - unzip dependency-check-5.3.2-release.zip - cd dependency-check-5.3.2-release/bin - ./dependency-check.sh --project "My Project" --scan ./../../target/*.jar --out ./../../dependency-check-report artifacts: paths: - dependency-check-report ``` 以上配置文件定义了三个阶段:build、test和dependency-check。其中,build和test阶段是项目的编译和测试阶段,dependency-check阶段是依赖扫描阶段。在dependency-check阶段中,我们下载并安装了Dependency-Check工具,并使用它来扫描项目的依赖关系。扫描结果将以HTML报告的形式保存在`dependency-check-report`目录下。 3. 提交并运行Pipeline 将`.gitlab-ci.yml`文件提交到项目Git仓库中,并在GitLab上开启CI/CD功能。然后,就可以运行Pipeline了。Pipeline运行结束后,可以在GitLab的Pipeline页面查看扫描结果。 以上就是集成Dependency-Check的具体步骤,希望可以帮到你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小松很努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值