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服务器节点拉取,构建应用

原文地址:https://www.cnblogs.com/kunwn/p/14585885.html