Jenkins

[Abp vNext 入坑分享]

走远了吗. 提交于 2020-04-29 09:32:40
一、感想 在写这一系列文章之前,本来以为写这个之前已经搭建好的框架描述会比较简单,但是慢慢写下来才发现。写这个真的不简单额,本来以为图文一起,一个晚上应该能输出一篇吧。。。结果:现实真的骨感,一个星期能输出两篇都不错了。。 1.之前没有写过整体系列类的文章,从高考之后就基本上没有写长篇的文章了。 2.本系列文章主要定位面向是初中级的开发可以根据步骤来搭建,高级与架构主要是相互讨论一下借鉴,所以很多东西写得很简单,基本上相当于是手把手教搭建的了 3.虽然自己之前的搭建已经完成了,但是从新来的时候好像有一些之前没有考虑到的东西又要重新考虑一下加深了理解,从第4篇开始已经慢慢到了应用的层面,虽然基于abpvnext,但是并没有完全基于。要写这些的时候又要想着怎么写得比较清晰,或者又怕自己理解不够搞错了。 4.现在大多数分享都是写demo类,像这种直接拿整个解决方案的很少,同时架构这种又是不同的team有不同的解决方案。我只能写我自己的用法,供参考吧。。 总知一句话:好难啊!!尽量坚持写完整个框架搭建吧!! 搞完之后看下要不要基于这个架构再开个持续集成的新坑:k8s,jenkins,docker之类的持续集成方面的。 唉!慢慢写吧。 二、简要说明 源码: https://github.com/lcjyslqyy/AbpVnext.Learn 《章节目录》 由于我们在前面已经说明了

[Abp vNext 入坑分享]

北慕城南 提交于 2020-04-29 09:02:23
一、感想 在写这一系列文章之前,本来以为写这个之前已经搭建好的框架描述会比较简单,但是慢慢写下来才发现。写这个真的不简单额,本来以为图文一起,一个晚上应该能输出一篇吧。。。结果:现实真的骨感,一个星期能输出两篇都不错了。。 1.之前没有写过整体系列类的文章,从高考之后就基本上没有写长篇的文章了。 2.本系列文章主要定位面向是初中级的开发可以根据步骤来搭建,高级与架构主要是相互讨论一下借鉴,所以很多东西写得很简单,基本上相当于是手把手教搭建的了 3.虽然自己之前的搭建已经完成了,但是从新来的时候好像有一些之前没有考虑到的东西又要重新考虑一下加深了理解,从第4篇开始已经慢慢到了应用的层面,虽然基于abpvnext,但是并没有完全基于。要写这些的时候又要想着怎么写得比较清晰,或者又怕自己理解不够搞错了。 4.现在大多数分享都是写demo类,像这种直接拿整个解决方案的很少,同时架构这种又是不同的team有不同的解决方案。我只能写我自己的用法,供参考吧。。 总知一句话:好难啊!!尽量坚持写完整个框架搭建吧!! 搞完之后看下要不要基于这个架构再开个持续集成的新坑:k8s,jenkins,docker之类的持续集成方面的。 唉!慢慢写吧。 二、简要说明 源码: https://github.com/lcjyslqyy/AbpVnext.Learn 《章节目录》 由于我们在前面已经说明了

jenkins自动化部署gitlab上maven程序

穿精又带淫゛_ 提交于 2020-04-28 14:34:06
部署流程:将代码从gitlab上拉取下来,使用maven打包,将打包后的jar通过ssh发送到服务器上,运行jar程序 注意:本文需要安装一些插件Publish Over SSH 1.新建任务 在主页点击“新建任务” 输入任务名称“gis-server”(随便什么名称都可以) 选择“构建一个maven项目” 确定 2.配置页面-源码管理 2.1.输入“Repository URL”,这是一个gitlab上的代码仓库地址,例如图中的 SSH地址:git@172.16.1.144:3dgis/server3d.git HTTP地址:http://172.16.1.144:9000/3dgis/server3d.git 注意:你可能疑惑,我的gitlab上没有http这个地址?这是因为这个gitlab网站是我们公司内部使用开源gitlab搭建的代码仓库,不是公网上的gitlab公共仓库。 2.2.输入“Credentials” 开始没有可选的凭证,需要我们新建一个凭据 点击“添加”-》“点击Jenkins”,进入添加凭证页面,一般使用“用户名密码”或“ssh方式” 2.2.1.使用用户名密码(与SSH地址:git@172.16.1.144:3dgis/server3d.git对应) 选择“类型”=“Username with password” 输入用户名,密码 输入描述

Devops工程师需要具备的10项技能

萝らか妹 提交于 2020-04-28 12:23:54
Facebook、Amazon和Microsoft等公司正在大量使用DevOps技术来确保软件的一致交付,DevOps的的工作机会和所需要的技能集也是越来越多。 在这里,我们将讨论Devops工程师需要具备的10项技能,以享受成功的职业生涯。 1. 软技能和沟通技巧 正如下面所讨论的,DevOps是开发和运营的结合。因此,DevOps工作需要出色的沟通能力。此外,你不能忘记同理心。记住,你的同理心会显示你的心态。争论和冲突在团队中很常见,这个时候就需要同理心,能站在对方的角度去理解,和和谐合作然后快速地解决问题。 当谈到DevOps技能时,我们不能忘记诚信。DevOps工程师的职责是将来自不同It部门的人员聚集在一起。所以,在做这件事的时候,你必须保持最高程度的诚实。 2. 对不同的源代码控制系统有足够的了解 详细地说,这样的系统是导致多个开发人员之间完美协作的主要DevOps工具。由于DevOps汇集了来自各个部门的专家,所以他们需要了解源代码控制系统。系统跟踪不同应用程序中的更改。此外,它还维护应用程序的多个版本。 3.持续集成技能 2019版DevOps的关键技能之一是持续集成,也可以说是CI。它是构建pipeline的重要部分。DevOps为运营和开发团队使用一个单一的系统。因此,持续集成所做的就是将开发人员的代码与master合并在一起。有了这样的技巧

Kubernetes 在本来生活网的落地实践

寵の児 提交于 2020-04-28 10:20:08
本来生活网(benlai.com)是一家生鲜电商平台,提供蔬菜、水果、海鲜等优质生鲜果蔬食材食品网购服务。当今容器技术被广泛关注,本来生活网在经历了一年的技术革命后,基本完成了容器化所需的基础设施建设。本文介绍本来生活网在 Kubernetes 落地过程中的实践和经验。 容器化背景 本来生活网是一家生鲜电商平台,公司很早就停止了烧钱模式,开始追求盈利。既然要把利润最大化,那就要开源节流,作为技术可以在省钱的方面想想办法。我们的生产环境是由 IDC 机房的 100 多台物理机所组成,占用率高达 95%,闲置资源比较多,于是我们考虑借助 Kubernetes 来重构我们的基础设施,提高我们资源的利用率。 容器化项目团队最初加上我就只有三个人,同时我们还有各自的工作任务要做,留给容器化的时间较少,因此我们要考虑如何快速的搭建容器平台,避免走全部自研这条路,这对我们来说是个巨大的挑战。在经历了一年的容器化之旅后,分享下我们这一年所踩过的坑和获得的经验。 面临的问题 在搭建 Kubernetes 集群前,有很多问题摆在我们面前: 人手不足,时间也不充裕,不能有太多自研的需求 我们目前的发布是由测试人员完成的,不可能要求他们去写一个 yaml 或执行 kubectl 做发布,这个学习成本太高也容易出错,因此我们必须构建一个用户体验良好的可视化平台给发布人员使用 我们有大量的 .NET 项目,而

Jenkins Java 反序列化远程执行代码漏洞(CVE-2017-1000353)

风格不统一 提交于 2020-04-28 06:17:28
Jenkins Java 反序列化远程执行代码漏洞(CVE-2017-1000353) 一、漏洞描述 该漏洞存在于使用HTTP协议的双向通信通道的具体实现代码中,jenkins利用此通道来接收命令,恶意攻击者可以构造恶意攻击参数远程执行命令,从而获取系统权限,造成数据泄露。 二、漏洞影响版本 所有jenkins主版本均受到影响(包括<=2.56版本) 所有的jenkins LTS均受到影响(包括<=2.46.1版本) 三、漏洞环境搭建 1、 官方下载jenkins-2.46-1.1.noarch.rpm,下载地址:http://mirrors.jenkins.io 2、 在redhat安装jenkins rpm -ivh jenkins-2.46-1.1.noarch.rpm    3、开启jenkins服务    4、浏览器访问http://192.168.10.137:8080,如下图所示需要输入密码,密码文件在如下图位置    5、查看密码文件,输入密码后进入如下界面,选择安装建议的插件    6、安装完插件之后,进入如下界面,设置用户名和密码    7、设置完用户和密码之后,进入如下界面,点击如下图位置,到此为止,jenkins环境搭建成功       四、漏洞复现 1、 下载生成POC的反序列化工具(CVE-2017-1000353-1.1-SNAPSHOT-all

docker+jenkins持续集成

十年热恋 提交于 2020-04-28 04:32:04
1、什么是持续集成   持续集成也称之为CI,是程序开发过程中每天都在进行的工作,持续集成在定义中有讲开发人员每天至少一次集成反之即会发生多次,如果以传统开发模式流程则是开发编译》运维发布》测试人员测试往往bug最后才发现,由此导致修改问题复杂度增加且整个耗时长。持续集成可通过自动化工具来快速完成整个自动化构建(编译,发布,测试)。 2、jenkins介绍   jenkins是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时 Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。— 维基百科   官网地址:https://jenkins.io/zh/ 3、docker安装jenkins 3.1 拉取镜向 docker pull jenkins/jenkins:lts 3.2 运行镜向 docker run -d -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker -v $PWD:/var/jenkins_home -u 0 -p 9090:8080 --restart=always --name jenkins jenkins

Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目

為{幸葍}努か 提交于 2020-04-28 03:03:14
前文 使用Docker搭建Jenkins+Docker持续集成环境 我们已经搭建了基于docker+jenkins的持续集成环境,并构建了基于maven的项目。这一节,我们继续扩展功能,增加对Nodejs的支持,实现nodejs项目构建、并打包成docker镜像和自动部署。 1. 配置Nodejs环境 1.1 安装nodejs插件 打开系统管理——管理插件——可选插件,搜索NodeJS,选择NodeJS Plugin安装 1.2 配置nodejs 版本 系统管理 —— 全局工具配置 —— NodeJS,选择安装nodejs,选择当前最新版本9.4,命名NodeJS 9.4。 2. 配置项目 2.1 新建项目 新建jenkins项目,选择自由项目,按前文说明配置好SVN、触发器。 在构建环境里,选择Provide Node & npm bin/ folder to PATH,选择我们配置的9.4版本nodejs 2.2 配置构建命令 一般是通过npm命令构建,我们选择增加构建步骤 —— Excute shell,输入构建命令: alias cnpm="npm --registry=https://registry.npm.taobao.org \ --cache=$HOME/.npm/.cache/cnpm \ --disturl=https://npm.taobao.org

Docker+Jenkins持续集成环境(4):使用etcd+confd实现容器服务注册与发现

半城伤御伤魂 提交于 2020-04-28 02:57:12
前面我们已经通过jenkins+docker搭建了基本的持续集成环境,实现了服务的自动构建和部署,但是,我们遇到一个问题,jenkins构建出来的镜像部署后,需要通过ip:port去访问,有什么更好的方法吗?肯定是通过域名啊!前提是你注册一个域名,或者修改机器hosts文件。 本文介绍通过引入etcd+confd实现部署服务的自动注册,自动生成nginx配置文件,实现每个服务独立域名访问。 配置域名 假设你的域名是: example.com,那么我们可以规划 dev.$servicename.example.com作为开发环境, test.$servicename.example.comz作为服务的测试环境。 配置步骤: 首先将*.example.com 指向一台nginx服务器 增加vhost配置文件,假设86.6,86.8,86.11 是docker swarm集群中的机器,服务的名称为allinoneservice,那么我们可以增加一个配置文件nginx_vhosts/service.conf: upstream test_service_allinoneservice { server 192.168.86.11:10091; server 192.168.86.6:10091; server 192.168.86.8:10091; } server { listen 80