本地Docker Jenkins构建dotnet core web应用到Linux服务器 Docker上

1、准备工作 环境

本地: Windows、Docker

代码仓库:Git

服务器:Linux、Docker

前提准备

创建个有dockerfile文件的dotnet core 3 web项目
新建一个dotnet 3.0的web项目,在项目文件夹添加Dockerfile文件,内容如下:

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base WORKDIR /app EXPOSE 80 COPY . . ENTRYPOINT ["dotnet", "WebApplication.dll"]

准备git仓库,将项目的代码上传上去

构建有dotnet core 3.0 环境的jenkins

FROM jenkins/jenkins:lts # 切换root用户安装东西 USER root # Show distro information! RUN uname -a && cat /etc/*release RUN apt-get update RUN apt-get install -y curl libunwind8 gettext apt-transport-https RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg RUN mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg RUN sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-stretch-prod stretch main" > /etc/apt/sources.list.d/dotnetdev.list' RUN apt-get update RUN apt-get install -y dotnet-sdk-3.1 # 切换回来jenkins用户 USER jenkins

因为jenkins里面是没有dotnetcore环境的,所以需要本地创建个支持dotnetcore环境的。
找个地方新建文件夹,创建dockerfile文件,内容如上。

build镜像并运行容器

docker build . -t jenkins_dotnet

这里等待时间会比较长~

# 运行刚刚构建好的容器 docker run -d --name jenkins -p 8080:8080 jenkins_dotnet

打开jenkins,安装推荐插件
打开 localhost:8080 ,可以看到

本地Docker Jenkins构建dotnet core web应用到Linux服务器 Docker上

docker exec -it jenkins bash dotnet --version cat /var/jenkins_home/secrets/initialAdminPassword

本地Docker Jenkins构建dotnet core web应用到Linux服务器 Docker上

把密码复制出来登录,点击左边按钮安装推荐插件

本地Docker Jenkins构建dotnet core web应用到Linux服务器 Docker上

这里时间也会比较长,如果有部分安装失败了,等剩余的安装完后点击重试即可,如果服务器上还没有docker,现在可以去装下,装了的也可以连上服务器,去执行docker pull mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim拉取下dotnet core 3.1的镜像,等会创建镜像的时候就会快一点啦

插件安装完后,会有一些创建管理员和地址配置,搞一下吧。

本地Docker Jenkins构建dotnet core web应用到Linux服务器 Docker上

如果有插件安装失败,点过重试安装插件的,现在需要docker restart jenkins重启下应用,然后重新打开localhost:8080使用创建的管理员登录。

2、环境搞好了,正式开始 哦,还有些需要安装的插件 =.=||

需要安装的插件:

SCP publisher

Publish Over SSH

Environment Injector

进入 系统管理>插件管理->可选插件->输入插件名称->勾选需要插件->点击安装

安装完后,设置下这些插件,进入系统管理->系统配置,

SCP publisher设置
Ctrl + F 搜下 SCP找到SCP repository hosts-SCP sites设置位置,点新增
HostName: 服务器IP地址
Port:端口,默认22、
Root Repository Path:文件存放目录
User Name:登录用户名
Password/Passphrase:密码

本地Docker Jenkins构建dotnet core web应用到Linux服务器 Docker上

Publish Over SSH 设置
Ctrl + F 搜下 SCP找到SCP repository hosts-SSH Server设置位置,点新增再点高级,勾选上 Use password authentication, or use a different key
Name:名称
Hostname:服务器IP地址
Username:登录用户名
Remote Directory:远程目录
Passphrase / Password:密码
Port:连接端口(默认22)

本地Docker Jenkins构建dotnet core web应用到Linux服务器 Docker上

配置完后别忘记点保存。

创建构建任务

点击新建任务, 选择构建一个自由风格的软件项目

本地Docker Jenkins构建dotnet core web应用到Linux服务器 Docker上

源码管理设置
选择Git,在Repository URL填入Git仓库地址

本地Docker Jenkins构建dotnet core web应用到Linux服务器 Docker上

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

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