Jenkins+Docker自动化部署.Net Core(2)

接下来就是等待安装,这里需要注意,如果jenkins版本比较老,则可能很多插件安装失败,直接红色的。此时可以跳过该界面进入首页。会有提示让你升级最新Jenkins版本。

Jenkins+Docker自动化部署.Net Core

安装完成后创建一个用户名和密码,即可完成安装进入首页。

Jenkins+Docker自动化部署.Net Core

3. 创建项目

1、源代码编译发布工程

源代码发布工程即将源代码提交到git服务器,jenkins通过git拉取最新的源代码,并通过Dockerfile里的配置进行编译发布过程。然后通过Docker构建此镜像并运行到容器。

创建一个.Net Core Web项目。

创建项目的时候可以选择启用Docker支持。

Jenkins+Docker自动化部署.Net Core

对于之前的项目可以右键添加Docker支持。

项目目录

Jenkins+Docker自动化部署.Net Core

默认的Dockerfile是有帮我们进行代码编译并发布动作的。所以默认的Dockerfile文件是适合和代码一起提交到服务器然后使用Docker进行构建镜像。

Jenkins+Docker自动化部署.Net Core

项目创建完成后随代码一起提交到git服务器。(svn等也都可以)

git项目目录,注意将Dockerfile复制到根目录。由于到时候构建镜像的时候就是从根目录执行的。git目录如下所示。

Jenkins+Docker自动化部署.Net Core

2、已编译的Release工程

已编译的Release工程,此种方式适合git或svn在局域网的;又不希望源代码不暴露到外网的需要。此种方式是将项目工程进行进行发布打包操作。例如java常见的打包成一个war包文件。.Net 就是生成对应的DLL 文件。

项目在发布之前我们对项目的Dockerfile文件属性做个更改,以便在发布时将此文件复制到发布时的目录。

Jenkins+Docker自动化部署.Net Core

选择上面建立的WebTest项目右键发布,选择发布到指定文件夹。

将发布文件发布到自己的git(或svn)目录,如下图所示的,一定要包含Dockerfile文件。发布后的文件,可以根据自己需要将没有更新DLL或者appsetting.json等文件剔除掉。只保留本次要更新的文件即可。

Jenkins+Docker自动化部署.Net Core

修改Dockerfile文件,因为默认的Dockerfile文件是包含编译发布的命令,所以这里要将这些相关命令操作删除掉;保留如下命令配置即可。

Jenkins+Docker自动化部署.Net Core

保存然后提交到所有文件到git服务器。

提交后的git目录。

Jenkins+Docker自动化部署.Net Core

建议:无论是代码编译发布工程还是已编译的Release工程,第一次使用Docker部署时最好先自己手动将这些文件拷贝到服务器,并手动构建对象并运行容器看是否成功;能否访问网站。也就是先不用Jenkins将这些流程自己手动走一遍,确保一些目录包括Dockerfile等都是配置正确的。

4.  创建JenKins任务

项目工程创建完成并提交到git服务器后,开始在Jenkins里面创建任务。

Jenkins+Docker自动化部署.Net Core

输入项目描述,源代码管理选择自己对应的即可。

Jenkins+Docker自动化部署.Net Core

我这里选择的git。第一次添加项目时需要添加一种授权方式点击右边添加按钮即可。

Jenkins+Docker自动化部署.Net Core

选择添加授权方式 常用的就是用户名加密码或者SSH方式。

Jenkins+Docker自动化部署.Net Core

下一步设置构建环境

Jenkins+Docker自动化部署.Net Core

设置触发器,这里主要是设置自动触发条件,有定时构建、远程触发构建、轮询SCM。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/c1ce365e768d49626dada6c21d8fb60c.html