集成部署开发人员(gitlab+jenkins+docker)ppt课件_第1页
集成部署开发人员(gitlab+jenkins+docker)ppt课件_第2页
集成部署开发人员(gitlab+jenkins+docker)ppt课件_第3页
集成部署开发人员(gitlab+jenkins+docker)ppt课件_第4页
集成部署开发人员(gitlab+jenkins+docker)ppt课件_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、利用Jenkins+Gitlab搭建继续集成环境.根底环境gitlab配置 jenkins配置工程配置 测实验证 .gitlab配置注册gitlab用户,创建工程安装git、tortoiseGit生成公私钥与gitlab关联运用tortoiseGit操作gitlab代码仓库git分支引见.注册gitlab用户,创建工程访问gitlab网址(根据用户配置决议):.输入用户名密码和邮箱,点击register.注册胜利.在project菜单下可以创建工程.点击create project按钮.工程创建胜利提示添加SSH key后续安装git后生成公私钥添加.安装Git和tortoiseGit在git

2、官网httpsgit-scm/downloads下载相应的安装包,直接安装,采用默许设置,直接next。.从tortoiseGit官网/tgit/下载安装包,直接安装,采用默许设置,直接next。.生成公私钥与gitlab关联tortoiseGit自带PuTTYgen,直接运转即可.生成公私钥,采用默许配置,无需更改.点击save public key 保管公钥到本地点击 save private key 保管私钥到本地将公钥添加到Gitlab.点击gitlab页面右上角Settings,进入SSH Keys.将从PuTTYgen上拷贝的公钥复制到Key文本框中.运用tortoiseGit操作

3、gitlab代码仓库在本地代码存放的地方右键鼠标,出现TortoiseGit,进入Settings,点击出现对话框.点击Settings对话框中的Git,设置用户名和邮箱.在本地代码存放的地方右键鼠标,出现Git clone,点击出现对话框.URL为gitlab上工程的地址,点击详细工程.进入工程详细,默以为SSH,复制地址,拷贝到Git clone对话框中的URL中.勾选Load PuTTY Key,将之前用PuTTYgen生成保管的私钥加载.从gitlab上胜利clone代码库.将工程拷贝到clone的代码库文件夹中.右键从gitlab上clone的代码库,选择Git commit-mas

4、ter,弹出对话框.提交本地并推送.推送gitlab.推送胜利,查看gitlab上代码库.git分支引见Git 保管的不是文件的变化或者差别,而是一系列不同时辰的文件快照。在进展提交操作时,Git会保管一个提交对象commit object。该提交对象会包含一个指向暂存内容快照的指针。 但不仅仅是这样,该提交对象还包含了作者的姓名和邮箱、提交时输入的信息以及指向它的父对象的指针。初次提交产生的提交对象没有父对象,普通提交操作产生的提交对象有一个父对象,而由多个分支合并产生的提交对象有多个父对象。Git的分支,其实本质上仅仅是指向提交对象的可变指针。Git的默许分支名是master。 在多次提交

5、操作之后,他其实曾经有一个指向最后那个提交对象的master分支。 它会在每次的提交操作中自动向前挪动。Git的 “master 分支并不是一个特殊分支。它就跟其它分支完全没有区别。 之所以几乎每一个仓库 都有 master 分支,是由于git init命令默许创建它,并且大多数人都懒得去改动它。无论创建、切换和删除分支,Git在1秒钟之内就能完成!无论他的版本库是1个文件还是1万个文件.分支创建Git是怎样创建新分支的呢? 它只是为他创建了一个可以挪动的新的指针。 比如,创建一个 testing分支, 他需求运用 git branch 命令:git branch testing这会在当前所在

6、的提交对象上创建一个指针。.运用tortoiseGit同样可以创建分支,点击clone的工程,右键tortoiseGit-Create Branch,如以下图所示:.同提交历史的分支。那么,Git又是怎样知道当前在哪一个分支上呢? 它有一个名为HEAD的特殊指针。 在Git中,它是一个指针,指向当前所在的本地分支译注:将HEAD想象为当前分支的别名。 在本例中,他依然在master分支上。 由于git branch命令仅仅创建一个新分支,并不会自动切换到新分支中去。.分支切换要切换到一个已存在的分支,他需求运用git checkout命令。 我们如今切换到新创建的 testing 分支去:gi

7、t checkout testing这样 HEAD 就指向 testing 分支了。.那么,在testing分支下修正文件,然后提交本地HEAD 分支随着提交操作自动向前挪动,如下图,他的testing分支向前挪动了,但是master分支却没有,它依然指向运转git checkout时所指的对象。.运用命令git checkout master切换回master分支:检出时 HEAD 随之挪动.这条命令做了两件事。 一是使 HEAD 指回master分支,二是将任务目录恢复成master分支所指向的快照内容。 也就是说,他如今做修正的话,工程将始于一个较旧的版本。 本质上来讲,这就是忽略tes

8、ting分支所做的修正,以便于向另一个方向进展开发。.tortoiseGit上同样可以操作,右键clone的工程,tortoiseGit-Switch/Checkout,弹出如下对话框:.合并分支快速合并假设我们在testing上的任务完成了,就可以把testing合并到master上。Git怎样合并呢?最简单的方法,就是直接把master指向testing的当前提交,就完成了合并,这里他需求运用git merge命令git merge testinggit merge命令用于合并指定分支到当前分支。合并后,再查看内容,就可以看到,和testing分支的最新提交是完全一样的。.合并完分支后,甚

9、至可以删除testing分支。删除testing分支就是把testing指针给删掉,删掉后,我们就剩下了一条master分支,这里需求运用git branch -d命令来删除分支:git branch -d testing.同样运用tortoiseGit也可以合并分支,右键clone的工程,tortoriseGit-Merge.分支合并冲突假设在不同分支同时修正文件,当合并分支的时候就会出现冲突,Git用标志出不同分支的内容,这时需求手动将冲突代码合并,然后再提交.jenkins配置注册用户创建Job配置Job构建信息.注册用户创建project运用管理员账号配置允许用户注册.访问注册页面.注

10、册胜利.构建自在风格的Job(运用ant编译)新建自在风格构建义务name不要采用中文在已运转的Jenkins主页中,点击左侧的新建Job进入如下界面:.源码管理配置演示是运用Git的链接,在RepositoryURL中输入他的工程链接, RepositoryURL为gitlab上创建的工程途径,进入Gitlab中的project页面,点击运用的project,如以下图:.在RepositoryURL中输入他的工程链接之后,假设没有权限那么会提示如以下图.点击credentials后面的add,kind为SSH Username with private key,在private key 中选

11、择Enter directly,输入保管的私钥保管.添加胜利.也可单独对Credentials设置点击Jenkins页面左侧Credentials菜单,如以下图:.点击Add Credentials,步骤一样.构建设置构建方式,选择ant invoker,ant version 从之前的ant配置后自动获取,Build File为build.xml,Properties 可以设置变量用于build.xml中直接援用,配置界面如下.ant构建完成后执行Execute shell来经过docker自动部署详细执行脚本如下获取上传到私有库的原始镜像:sudo docker pull 8:4000/t

12、omcat启动tomcat容器:sudo docker run -it -d -name tomcat_source 8:4000/tomcat复制war包到tomcat容器中:sudo docker cp /var/lib/jenkins/workspace/ehr_project/ehr.war tomcat_source:/usr/local/tomcat/webapps/生成新的镜像:sudo docker commit tomcat_source tomcat_ehr修正tag,生成push所需镜像:sudo docker tag tomcat_ehr 8:4000/tomcat_e

13、hr_test:v1Push镜像到私有库中:sudo docker push 8:4000/tomcat_ehr_test:v1停顿容器:sudo docker stop tomcat_source删除容器:sudo docker rm tomcat_source删除上传镜像:sudo docker rmi tomcat_ehr 8:4000/tomcat_ehr_test:v1删除本地原始镜像:sudo docker rmi 8:4000/tomcat远程部署:ssh root7 docker stop tomcat_ehr_1;docker rm tomcat_ehr_1;docker r

14、mi 8:4000/tomcat_ehr_test:v1;docker pull 8:4000/tomcat_ehr_test:v1;docker run -it -d -name tomcat_ehr_1 -p 8700:8080 8:4000/tomcat_ehr_test:v1.工程配置 工程经过ant进展配置Apache Ant是目前现实上的Java运用的规范build脚本工具普通情况,开发人员破费大量的时间做普通性的义务,比如:构建和部署,通常包含下面的任务:编译代码封装二进制文件在测试效力器上部署二进制文件测试修正从一个地点拷贝代码到另一个地点为了自动和简化上面的任务,Apache

15、 Ant 是非常有用的。这是一个基于开放的操作系统构建和部署的工具,该工具需求从命令行执行。.Ant运用XML来存储build信息,在xml文件里有很多task的定义,默许运用的文件是build.xml。首先,要有元素:中的name属性标识工程名,basedir指示根目录,default标识默许执行的target。假设运转ant时不指定这些属性,Ant将无法。.定义这个工程所运用的properties:这里定义了全局属性。这些属性是可选的,但运用属性会更方便,尤其是便于维护。一种更有效的方式是将这些属性放到一个专门文件里,从而使这个xml文件更加灵敏,易于重用。.定义path:Path元素用来

16、表示一个类途径,用于在后续target中需求援用path中的相关内容,比如工程中经常将jar包放在lib目录下,而代码编译需求援用jar包.定义所要执行的targets:.一个工程标签下可以有一个或多个target标签。一个target标签可以依赖其他的target标签。例如,有一个target用于编译程序,另一个target用于声称可执行文件。在生成可执行文件之前必需先编译该文件,因此可执行文件的target依赖于编译程序的target。Target的一切属性如下。(1) name表示标明,这个属性是必需的。(2) depends表示依赖的目的。(3) if表示仅当属性设置时才执行。(4) unless表示当属性没有设置时才执行。(5) description表示工程的描画。Ant的depends属性指定了target的执行顺序。Ant会按照depends属性中target出现顺序依次执行每个target。在执行之前,首先需求执行它所依赖的target。程序中的名为publish的target的depends属性compile,而名为compile的target的dep

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论