为.net集装箱化应用程序创build一个CIpipe道
我的目标
正如标题所说,我正在尝试为将要在Linux中的dockerized环境中运行的大量.NET服务组装一个CI(持续集成)pipe道。 我组织中的开发人员目前使用C#和VSO / TFS,所以我们试图迁移到Linux平台,同时保留我们当前团队的工具/技能。
我在各种论坛上看到很多post,但一直没有find解决我的具体需求的任何东西 – 所以如果这之前已经回答 – 我将非常感激链接!
到目前为止,我已经做了以下试图certificate我能做些什么:
- 用unit testing创build一个C#项目。
- 将项目检入源代码pipe理(TFS在线)
- 在Linux上运行Jenkins
- 设置Jenkins来倾听源代码控制。
- 当检测到新代码时,使用MSBuild插件在Jenkins节点(这是Windows机器)上启动构build
- 如果构build完成而没有错误,则使用MSTest插件运行与C#项目关联的所有unit testing。
所有上述似乎工作得很好 – 这是我正在努力的下一个位。
我想做的事
现在我已经完成了一个构build并在代码中进行了testing,我希望能够执行以下操作(高级别):
- 将源代码从Jenkins窗口节点移动到Jenkins Linux节点
- 在Linux节点上构buildDocker容器
- 将Docker容器推入存储库
我曾经尝试过
我正在Jenkins使用自由式项目来编排上述内容。 (不知道这是不是正确的select – 但似乎没有打破汗水拉/build立/testing。)
我想,为了从Windows节点到Linux节点的代码,我需要推入到一个GIT仓库。 我的要求是,这是一个本地GIT,但如果这是不可能的,我愿意在线使用私人GIT。
我尝试build立一个Gogs-GIT本地存储库,但Jenkins并没有使用同样的语言。 在任何情况下 – 我一直无法弄清楚如何使用任何Jenkins插件将代码作为从我的Windows节点发布到不同的源代码控制环境中的后构build事件,而不是从第一个地方。
我现在想,也许我需要执行某种自定义脚本(也许在Windows节点上的批处理脚本)来推入GIT,然后有一个单独的Jenkins作业,侦听推送到GIT存储库启动Linux处理。
我对Linux和Jenkins都很新,所以任何帮助或指针都会很感激。
- 在VS 2017中构build和部署远程主机上的docker容器
- 在Visual Studio 2017中添加Docker支持缺less
- 我应该使用docker的用户机密或环境variables
- 鉴于下面描述的错误,人们如何在Ubuntu / Docker的ASP.NET Core Web API中进行身份validation?
- 使用docker运行dotnet 1.1
- 在GitLab CI中构buildWPF应用程序时使用什么docker-image
- DotNet构buildCLI在terminal中工作,但不在Docker构build中
- 无法在Docker上运行VS项目
- 在持续部署的Azure .Net核心WebApi上的Docker – 是否有效?