使用云和 devOps 自动化在提交时构建和部署 .Net REST 服务 [关闭]

问题描述 投票:0回答:1

我正在尝试学习云计算和devOps。我对 jenkins pipeline 和 AWS 有了一些基本的了解。

我想实现以下目标,但没有想到如何实现它的完整工作流程。

1.) 我有一个 windows .Net(与 .net 核心兼容的 linux)RESTful 服务和代码在 github 中。

2.) 我想在 AWS 云服务器(linux 和 windows)上实现 CI/CD devOps 自动化管道,它在每次提交时自动发生。

3.) 如果正在构建的分支是发布分支,那么代码应该部署在服务器上(linux 和 windows), 如果它是一个功能分支,那么只需要构建就足够了。

4.) 理想情况下,我想在 AWS 服务器上的 Jenkins 管道和 docker 容器的帮助下完成这项工作。

5.) 另外,我想在没有任何人工干预的情况下完成所有这些步骤,所有这些都应该由提交控制。

我知道这是一个广泛的话题,但如果您可以向我推荐一些记录了此内容的教程,我可以从那里获得帮助。 或者指导我一步一步的过程,我可能必须执行以实现上述目标。

我认为实现这一点的先决条件是我可能必须设置一个安装了 docker 和 jenkins 的 windows 和 linux 服务器,但是有没有一种方法可以在第一次手动完成后自动执行此操作。

请在这里用你的专业知识帮助我。

谢谢, 狗屎

.net amazon-web-services jenkins-pipeline cloud docker-container
1个回答
0
投票

由于 stackoverflow 不适用于此类问题,您将收到反对票或将被关闭。

无论如何这里有一些提示。希望对你有帮助:

  1. 使用脚本化管道在 jenkins 中创建一个 hello world:hello world
  2. 基石是webhooks,所以研究一下。查看我的帖子https://jrichardsz.github.io/devops/devops-with-git-and-jenkins-using-webhooks
    • 目标: 你应该实现这个:一些 git push 应该在 jenkins 中打印一个 hello world
  3. Docker化您的网络核心应用程序。
    • 目标: 你应该实现这个:
      docker build ...
      docker run ...
      。该应用程序应该在您的本地主机上运行。
  4. 您应该启动 docker build 命令以在 jenkins 的本地磁盘中构建映像,而不是 hello world 消息(第 1 点)
    • 目标: 确认您的图像存在运行
      docker images
      在詹金斯
  5. 在 aws 中配置一个基本的 docker 图像存储库,如 this 或使用一些公共的 https://hub.docker.com/
  6. 将 docker 镜像推送到你的 docker 镜像仓库
    • 目标: 检查您的本地 docker 镜像是否已上传到您的 docker registry
  7. 既然是学习,就应该从最基本的方式入手,所以创建一个ec2,安装docker并配置docker api
  8. 回到詹金斯工作,在
    docker push ...
    之后,连接到ec2并执行:
    • 码头工人拉...
    • docker run ... -p 80:abcd ...
    • 目标: 打开 ec2 的默认公共 http 域,您的 netcore 应用程序应该加载

前面的步骤只是学习基础知识。如果你做到了这一点,你就可以逐渐使用更高级的工具:

  • AWS ECR:docker 存储库
  • 编排器(kubernetes、aws beanstalk 等)避免手动 dockerd api 暴露
  • 配置管理器来处理你的 netcore(或任何语言)变量(秘密与否)。我开发了一个随时可用的工具:https://github.com/jrichardsz-software-architect-tools/configurator
  • aws 中的很多开发和基础设施工具
© www.soinside.com 2019 - 2024. All rights reserved.