gitlab与Jenkins持续集成到Centos下的docker容器

gitlab与Jenkins持续集成到Centos下的docker容器

NetCore项目配置

检查项目根目录下是否存在Dockerfile文件,没有则创建。
以下为netcore2.2现成的配置例子,其它版本类似
项目代码托管在gitlab上

FROM microsoft/dotnet:2.2-sdk AS build
WORKDIR /src
COPY ["ProjectApi/ProjectApi.csproj", "ProjectApi/"]
COPY ["Model/Model.csproj", "Model/"]
COPY ["BLL/BLL.csproj", "BLL/"]
RUN dotnet restore "ProjectApi/ProjectApi.csproj"
COPY . .
WORKDIR "/src/ProjectApi"
RUN dotnet build "ProjectApi.csproj" -c Release -o /project_api

FROM build AS publish
RUN dotnet publish "ProjectApi.csproj" -c Release -o /project_api

FROM microsoft/dotnet:2.2-aspnetcore-runtime AS final
ENV TZ=Asia/Shanghai
EXPOSE 80
WORKDIR /project_api
COPY --from=publish /project_api .

RUN echo "deb http://mirrors.163.com/debian/ jessie main non-free contrib\
deb http://mirrors.163.com/debian/ jessie-updates main non-free contrib\
deb http://mirrors.163.com/debian/ jessie-backports main non-free contrib\
deb-src http://mirrors.163.com/debian/ jessie main non-free contrib\
deb-src http://mirrors.163.com/debian/ jessie-updates main non-free contrib\
deb-src http://mirrors.163.com/debian/ jessie-backports main non-free contrib\
deb http://mirrors.163.com/debian-security/ jessie/updates main non-free contrib\
deb-src http://mirrors.163.com/debian-security/ jessie/updates main non-free contrib" > /etc/apt/sources.list && apt-get update && apt-get install libgdiplus -y && cd /usr/lib && ln -s libgdiplus.so gdiplus.dll && ln -s /lib/x86_64-linux-gnu/libdl-2.24.so /lib/x86_64-linux-gnu/libdl.so

ENTRYPOINT ["dotnet", "ProjectApi.dll"]

Jenkins配置

Jenkins安装搭建好完后登录,点击左侧菜单的新建任务,
输入一个任务名称,选择构建一个自由风格的软件项目后确定保存。
任务创建好后,点击配置进入配置页面
只需要配置的点

源码管理栏
添加自己的gitlab账号,以及代码访问地址,并指定分支
在这里插入图片描述

构建触发器配置
勾选推送gitlab后触发
在这里插入图片描述

构建执行shell
主要只是执行docker命令,docker容器与宿主的网络需要先建好,构建时指定一个ip,否则可能每次容器ip都会改变
在这里插入图片描述

以上配置完成后保存,可以点击立即构建检查构建成功。

gitlab配置

gitlab配置比较简单,进入项目后点击该项目设置模块下的集成菜单,填写Jenkins的触发Url和密码,这两条在刚刚的Jenkins构建触发器栏中复制过来,点击下方的添加即可完成自动构建。
在这里插入图片描述
在这里插入图片描述

关于前端Vue工程配置基本一样,只有dockerfile和docker命令的如下


FROM node:10.15.2-slim AS build
WORKDIR /project_ui
COPY . .
RUN npm config set registry http://registry.npm.taobao.org && npm install && npm run build

FROM httpd:2.4
EXPOSE 80
#复制打包的文件
COPY --from=build /project_ui/dist /usr/local/apache2/htdocs/

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值