前言:上一篇文章中,写到了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

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

    其他参数默认即可

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

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

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

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

    解决方法:



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



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

  • 查看jenkins节点状态

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

  • 创建一个任务

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

  • 编辑windows shell脚本

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

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

  • 保存任务,执行构建

    查看构建日志

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

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

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

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

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

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

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

Docker部署Jenkins 2.285版持续部署集成实践(2)的更多相关文章

  1. Docker部署Jenkins 2.285版持续部署集成实践(1)

    抓取Jenkins镜像 docker pull jenkins/jenkins 创建映射本地路径: 运行Jenkins实例 docker for windows: docker run -it -p ...

  2. Docker+GitLab+Jenkins+kubernetes实现DevOps 持续化集成和持续化部署概念图

    Docker+GitLab+Jenkins+kubernetes实现DevOps 持续化集成和持续化部署概念图 转载自:原创 IT综合 作者:百联达 时间:2017-05-09 15:48:08 41 ...

  3. Jenkins+git+gitlab实现持续自动集成部署

    1  实验环境 三台服务器 gitlab        192.168.7.139 Jenkins    192.168.7.140 java          192.168.7.141 [root ...

  4. Azure 项目构建 – 部署 Jenkins 服务器以实现持续集成(CI)

    通过完整流程详细介绍了如何通过 Azure 虚拟机.虚拟网络等服务在 Azure 平台上快速搭建 Jenkins 服务器. 此系列的全部课程 https://school.azure.cn/curri ...

  5. Linux 部署jenkins + svn + mavne + tomcat8自动化部署

    1,下载Jenkins  war包   官网下载地址 https://jenkins.io/ 2.初始化安装 1)首次启动jenkins,出于安全考虑,jenkins会生成一个随机的口令到 /root ...

  6. 构建gitlab+Jenkins+harbor+kubernetes的DevOps持续集成持续部署环境

    构建gitlab+Jenkins+harbor+kubernetes的DevOps持续集成持续部署环境 整个环境的结构图. 一.准备工作 gitlab和harbor我是安装在kubernetes集群外 ...

  7. CI/CD持续集成/持续部署 敏捷开发

    敏捷软件开发(英语:Agile software development),又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力.它 ...

  8. 持续部署CI/CD

    一.简介 在敏捷开发时,通常将服务进行拆分成不同模块,每个开发小组负责一个模块的开发,会在一天内对这个模块进行频繁的提交到仓库主干并部署到线上.CI/CD就是在开发中使用工具保证快速并稳定上线的方法, ...

  9. 译\Node.js应用的持续部署

    Node.js应用的持续部署 翻译前 翻译自:https://blog.risingstack.com/continuous-deployment-of-node-js-applications/ 正 ...

随机推荐

  1. POJ 3347 Kadj Squares 计算几何

    求出正方形的左右端点,再判断是否覆盖 #include <iostream> #include <cstdio> #include <cstring> #inclu ...

  2. 通过CRM客户系统改变销售工作模式

    CRM客户管理软件对于企业来说,能够优化销售流程.维护客户关系.销售流程管理等.但是很多销售人员认为企业购买CRM软件,是用来监视他们的武器,自然会受到销售团队的抵触.所以经常会出现管理者辛苦的选型, ...

  3. 『无为则无心』Python函数 — 26、Python函数参数的传递方式

    目录 1.位置参数 2.关键字参数 3.缺省参数(默认参数) 4.不定长参数(可变参数) (1)包裹位置传递 (2)包裹关键字传递 5.位置参数.默认参数.可变参数的混合使用 6.拓展:参数解包 提示 ...

  4. 前端集合传参,springmvc后端如何接收

    废话不多说,上代码 后端接收对象: class ObjectA{ private String a; private String b; private List<ObjectB> lis ...

  5. 【LeetCode】151. 翻转字符串里的单词(剑指offer 58-I)

    151. 翻转字符串里的单词 知识点:字符串:双指针 题目描述 给你一个字符串 s ,逐个翻转字符串中的所有 单词 . 单词 是由非空格字符组成的字符串.s 中使用至少一个空格将字符串中的 单词 分隔 ...

  6. 二进制方式安装 k8s

    推荐个好用的安装k8s的工具 https://github.com/easzlab/kubeasz 该工具基于二进制方式部署 k8s, 利用 ansible-playbook 实现自动化    1.1 ...

  7. 手机端web网页布局经验总结(持续更新中)

    1. 首先,在网页代码的头部,加入一行viewport元标签,我们一般是不让用户手动的去改变页面的大小的. <meta name="viewport" content=&qu ...

  8. 【连载】微服务网格Istio(一)

    Istio基础 服务网格是用于描述构成应用程序的微服务网络以及应用之间的交互,服务网格的功能包括服务发现.负载均衡.故障恢复.指标和监控以及更加复杂的运维工作,例如A/B测试.金丝雀发布.限流.访问控 ...

  9. 测试龙芯 LoongArch .NET之 使用 FastTunnel 做内网穿透远程计算机

    龙芯3A5000 已经上市,与龙芯3A5000配套的三大编译器GCC.LLVM.GoLang和三大虚拟机Java.JavaScript..NET均已完成开发,从老伙计哪里搞来一台3A5000 机器,安 ...

  10. 线程Thread中的方法详解(二)

    1.start() start()方法的作用讲得直白点就是通知"线程规划器",此线程可以运行了,正在等待CPU调用线程对象得run()方法,产生一个异步执行的效果.通过start( ...