zoukankan      html  css  js  c++  java
  • 使用jenkins 在docker中发布.net core应用

    Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具。本文将介绍Docker下安装jenkins以及使用jenkins在Docker环境下构建.net core应用。

    一、安装jenkins

    这里使用Docker来安装JenKins,当然也可以直接安装到Linux中。

    • 1、配置环境
      mkdir /home/jenkins 创建jenkin文件夹,用于映射
      chown -R 1000:1000 /home/jenkins 给uid为1000的权限
      想让jenkins能有权限给docker主机发送构建镜像及容器命令,需要开放docker.sock权限
      chown -R 1000:1000 /var/run/docker.sock
      如果还是没有权限 可以暴力的使用chmod 777 /var/run/docker.sock

    • 2、运行jenkins容器
      docker run -itd -p 9090:8080 -p 50000:50000 --name jenkins --privileged=true -v /home/jenkins:/var/jenkins_home -v /usr/bin/docker:/bin/docker -v /var/run/docker.sock:/var/run/docker.sock jenkins/jenkins:lts
      容器启动后,打开jenkin地址 http://192.168.0.102:9090
      会出现初始化界面,如果等待了许久仍然在初始化界面不动,需要你进入jenkins的工作目录,打开-----hudson.model.UpdateCenter.xml将 url 中的
      https://updates.jenkins.io/update-center.json
      更改为https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
      是国内的清华大学的镜像地址。
      或者更改为http://updates.jenkins.io/update-center.json,即去掉 https 中的 s 。然后重新下容器。
      初始化完成后会要输入密码
      查看密码
      cat /home/jenkins/secrets/initialAdminPassword
      输入密码后会让我们输入系统的管理员名称及密码,设置完后跳转到插件安装界面,我们选择安装推荐的插件,里面包含git等等常用的插件。

      安装完插件后会跳转到系统管理员设置界面

    后面的几个页面都使用默认设置,即完成初始化配置。 完成后的界面如下

    二、在docker环境下构建.net core应用

    • 1、准备.net core应用
      新建一个.net core 3.1的web应用程序项目,在项目中添加docker容器支持,自动生成Dockerfile文件。这里演示使用源代码的方式构建,所以不需要修改Dockerfile,但是需要将Dockerfile文件移动到解决方案sln目录下(默认生成的是在项目目录下)。然后在Github上建立一个代码仓库,直接将解决方法推送到GitHub上。然后使用这个代码仓库来进行构建。
    • 2、jenkins新建任务。
      在jienkins中点击新建按钮,创建一个新任务。填写任务名字,选择自由风格,如下图

    接着来到了任务设置界面
    设置为GitHub项目,填写GitHub地址

    源码管理,选择git,填写仓库地址

    如果使用手动构建,不需要设置构建触发器和构建环境
    构建选项卡,选择执行shell,shell命令如下

    cd /var/jenkins_home/workspace/testpro/WebApp/
    docker stop mytestjenkins
    docker rm mytestjenkins
    docker build -t mytestbuild .
    docker run -d -p 9009:80 --name mytestjenkins mytestbuild
    

    cd /var/jenkins_home/workspace/testpro/WebApp/ 这行命令解释:/var/jenkins_home为jenkins的目录,也就是我们前面运行jenkins容器命令中的映射目录。workspace为jenkins拉取代码的目录,testpro为任务的名字,WebApp是我们存放在GitHub上项目的文件夹名称。
    第一次手动构建一次容器,不然后续自动构建时stop及rm容器会报错,因为不存在该容器。

    然后保存。
    立即构建

    构建结果

    访问构建的容器 http://192.168.0.102:9009/weatherforecast 看到有正常的数据返回。

    参考文档
    在Docker内安装jenkins运行和基础配置
    Linux文档整理之【Jenkins+Docker自动化部署.Net Core】

  • 相关阅读:
    Nginx进阶-不停服更新
    Tengine安装
    初识Nginx
    自建Nuget服务器
    WebApi PUT、DELETE请求时出现405
    Mysql分页查询性能分析
    Asp.Net WebApi Swagger终极搭建
    到底什么是程序员思维,设计师思维
    [有了SSL证书,如何在IIS环境下部署https?【转载】]
    div 文章内容自动分屏显示
  • 原文地址:https://www.cnblogs.com/KQNLL/p/13621891.html
Copyright © 2011-2022 走看看