zoukankan      html  css  js  c++  java
  • Docker部署Jenkins 2.285版持续部署集成实践(2)

    前言:上一篇文章中,写到了jenkins搭建,下面记录使用jenkins构建项目实践

    1. 以构建.netcore项目为例,如果要构建.netcore项目,需要安装dotnet-sdk包

    • 进入jenkins01容器:
        Docker exec –it –u root jenkins01 bash
      
      参考官网:https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install
    • 安装netcore sdk,输入命令:
        apt-get install apt-transport-https
        apt-get update
        apt-get install dotnet-sdk-3.1
      
    • 说明:如果构建的项目使用的环境多了,那docker里面需要安装各种SDK,就变成了一个小系统,就会比较臃肿,这里建议在Jenkins添加一个主机节点来构建项目

    2. Jenkins添加构建节点slave构建项目

    • 进入Jenkins主界面,选择Set up an agent

      image

    • 这里我以我本地主机为节点,ip地址来命名

      image

      image

      其他参数默认即可

      image

    • 在Slave节点,执行命令,连接

      说明:Slave节点需要,安装Java JDK 并配置环境变量等信息

      在Slave节点执行下图圈中的命令:

      image

      命令:
        java -jar agent.jar -jnlpUrl http://192.168.231.132:8090/computer/10.100.34.57/jenkins-agent.jnlp -secret 3e4b8229b6e5cf13b97d6a527d84c5ee14b6f532d0d356a235b2051740ccb6da -workDir "E:Jenkins"
      
      报错:

      image

      解决方法:

      image
      点击按钮,下载一个客户端(jenkins-agent),双击执行
      image

      image
      说明:这个窗口不要关闭,如果关闭,节点就连接不上了

    • 查看jenkins节点状态

      image

    3. 创建.netcore项目,使用Jenkins构建

    • 创建一个任务

      image

    • 配置到我们设置好的windows节点构建

      image

    • 编辑windows shell脚本

      image

      image

      脚本参考:
        cd "E:PersonalProjectNetcorecoreApp3.1coreApp3.1"
        dotnet restore
        dotnet build 
        dotnet publish -o F:Publish
      

      说明:进入项目根目录,还原,构建,发布到目录F:Publish

    • 保存任务,执行构建

      image

      查看构建日志

      image

      查看发布目录(F:Publish),发现了发布的.netcore的程序,成功了

      image

    4.扩展(构建镜像+创建应用容器),前提slave节点需要安装有Docker,因为我本地没有docker,所以贴几张以前的图来展示过程

    • 项目中添加docker支持,自动生成dockerfile文件

      image

    • 设置jenkins任务,增加后续构建步骤

      image

      image

    • 执行任务构建,发现Slave节点(docker for windows),已有镜像文件

      image

    • 批处理命令再添加两行,构建完镜像后,直接创建app容器

      image

      参考code:
        F:
        cd F:Publish
        docker build -t netapp:1.0 .
        docker run -it -d -p 8002:80 --name netcoreapp01 --privileged=true netapp:1.0
        docker logs netcoreapp01
      

    5. 最后,构建完镜像后,还可以推送到私有云镜像仓库或公有云(如:阿里云)上,各个app服务器节点拉取,构建应用

  • 相关阅读:
    python lambda函数的用法
    python 中is 和 ==的区别
    Mongo 聚合函数 $group方法的使用
    mongo聚合
    当mongo数据库报错关于 Failed global initialization:
    python 中字符串的拼接
    python eval()用法报错 SyntaxError: unexpected EOF while parsing
    高性能MySQL(六):选择合适的存储引擎
    高性能MySQL(五):存储引擎
    高性能MySQL(四):多版本并发控制
  • 原文地址:https://www.cnblogs.com/kunwn/p/14585885.html
Copyright © 2011-2022 走看看