1.前言因为公司用的是Jenkins,所以很想写这个,因为这样真的很方便。我想起了小农刚开始工作的时候。到时候如何部署部署项目呢?首先需要将对应的class文件和xml一一导出,放到对应的包文件中。对应的class文件,然后对比看有没有导入错误,是不是class文件,先停止对应的tomcat服务,然后放到服务器上,再启动tomcat,这个过程简直繁琐重复没有技术含量,所以公司还专门派了一个运维人员来做这个工作,完全没有必要。这个工资我发,我干,干开发。不好吃吗?言归正传,自从用了Jenkins,发现真的很好吃。直接提交到GIT,然后鼠标点Jenkins,等待发布,顺便喝杯咖啡,省时省力。今天的文章将介绍如何构建Jenkins的自动化部署。附一张我们Jenkins的图片:2.DevOps的概念DevOps这个词来源于Development和Operations的结合,强调软件开发人员和运维人员之间的沟通与合作,对软件的构建、测试、发布进行通过自动化流程更快、更频繁、更可靠。DevOps实际上包括三个部分:开发、测试和运维。换句话说,DevOps希望实现的是打通软件产品交付过程中的IT工具链,让各个团队减少时间损失,更高效地协同工作。DevOps强调高效的组织团队如何通过自动化的工具协作和沟通来完成软件生命周期管理,从而更快、更频繁地交付更稳定的软件。如果按字面理解,DevOps就是Dev(开发人员)+Ops(运维人员),实际上是一组流程、方法和系统的统称。它的概念自2009年首次提出以来一直在发展,内容非常丰富,无论是理论还是实践,包括组织文化、自动化、精益、反馈和分享。3、为什么要做持续集成持续集成服务(ContinuousIntegration,简称CI)是绑定在Github上的项目,只要有新的代码,就会自动抓取。然后,提供运行环境,执行测试,完成构建,部署到服务器。持续集成是指每当代码发生变化时自动运行构建和测试,并反馈运行结果。确保符合预期后,将新代码“集成”到主干中。持续集成的好处是每做一个小的代码改动,就可以看到运行结果,从而不断积累小的改动,而不是在开发周期的末尾合并一大段代码。四、通用云服务1.travis-ciTravisCI是软件开发领域的在线、分布式持续集成服务,用于构建和测试托管在GitHub上的代码。与Jenkis不同,Travis不需要在服务器上自己部署服务,并且与GitHub高度集成,因此对开源项目非常友好。适用于开源软件官网:https://travis-ci.org/2.CircleCICCircleCI也是一个类似travis-ci的持续集成/持续部署服务,不需要自己搭建服务器。适用于开源软件3.阿里云4.华为云5.IBM6.daocloud7.Jenkins五、手动部署Jenkins5.1准备工作1、JDK下载地址:https://pan.baidu.com/s/1Q2CSqX5PE8PghFOgSGwOZQ提取码:l8uo2。Maven链接:https://pan.baidu.com/s/101f74xd7ljtynklUo-KBdg提取码:nwgj3。Gitgit安装命令:yuminstallgit4。环境配置:vi/etc/profile5.2下载Jenkins工程并生成两个releaseOnline,long-termsupport(LTS)和weeklyupdate版本均以.war文件、nativepackages、installers、Docker容器的形式分发.最新下载地址:https://jenkins.io/zh/download/如果下载不了,也可以使用百度云下载:https://pan.baidu.com/s/1ZqX_3JUsQ88_hJuJZhkXrw提取码:w1vj5.3启动并下载我们的jenkins.war后,放到linux服务上,执行java-jarJenkins.war启动服务,在启动过程中我们会看到如下日志信息:Jenkinswillbeslowerwhenloadingfor第一次,会把需要持久化的信息放到/root/文件夹下。jenkins/,所以会比较慢,需要耐心等待,当出现如下日志时,说明我们已经启动成功,如图:访问地址:http://ip地址:8080/注意:如果你的地址添加端口无法访问,首先确保你的Jenkins已经启动,如果Jenkins启动成功,那么记得打开8080端口firewall-cmd--permanent--zone=public--add-port=8080/tcpinputwhatwe在控制台看到Key,如果找不到,可以去/root/.jenkins/secrets/initialAdminPassword查看key,不要安装插件,点击安装,我们只需要安装插件即可-in以后我们需要3.输入我们的用户名和密码后,点击保存完成4.实例配置,默认即可,一般跟服务器5.开始使用5.5Jenkins主页这里是配置成功后我们看到的Jenkins主页地址,但是里面没有任何插件,接下来我们需要配置对应的插件地址5.6手动安装插件5.6.1。中文本地化插件(Localization:Chinese(Simplified))点击ManageJenkins->ManagePlugins5.6.2。安装本地化插件,在搜索框输入:Chinese点击安装重启后,Jenkins会自动刷新,进入登录页面。这个时候我们进入开始配置用户名和密码,就可以登录了,这里是汉化后的Jenkins5.6.3。安装Git选择系统管理,点击插件管理下载插件包1选择可选插件2输入Git3选择Git4重启后下载安装下载会比较慢,请耐心等待。5.6.4.MavenIntegration在插件管理中下载插件MavenIntegration,然后重复我们上面的操作开始下载。下载完成后,我们重启Jenkins,到这里我们的Jenkins安装和配置就已经安装好了!!!您可以进入官方项目并创建一个新项目。6.Jenkins+Maven+Git自动继承/测试6.1Git拉取项目生成公私钥对,命令:ssh-keygen进入密钥目录:cd.ssh/打开我们的git地址:https://github.com/新建一个SSH密钥,输入我们刚刚生成的公钥viid_rsa.pub这里我们使用一个测试项目,项目代码很简单,我就不展示了。有兴趣的可以直接下载。项目地址:https://github.com/muxiaonong/ci-test.git使用命令将项目下载到我们的服务器gitclonehttps://github.com/muxiaonong/如果ci-test.git下载成功,我们已经配置好了。6.2新建Jenkins项目1选择NewTask2输入任务名称,然后选择Maven项目,点击OK3输入描述,源码管理选择git输入我们刚刚管理的Git地址https://github.com/muxiaonong/ci-test.git4点击添加,选择JenkinsConfiguration4配置CredentialType选择SSH私钥,输入us刚刚生成,在/root/.ssh目录下,文件名为:id_rsa,复制里面的私钥并添加凭据,选择root5轮询,填写*****表示每分钟执行6个环境变量。配置一次Jenkins的时候,因为我们还没有在Jenkins上配置环境变量,所以会提示我们需要配置变量。我们点击下图中的链接进入配置页面。,去掉-》输入别名和JAVA_HOME注意:JAVA_HOME输入框下不能有警告或错误信息,否则路径不对。使用mvn-version命令时,已经打印出Javahome变量。注意:去掉最后的jre8MavenConfiguration点击??添加Maven-》自动安装前面的勾选,去掉-》输入Name和MAVEN_HOME注意:使用mvn-version命令,可以看到下面的Mavenhome变量MAVEN_HOME输入框,不要有warningorerrormessages,otherwiseitisThepathisincorrect.9如果Build还是报错,我们先点击保存,然后我们此时配置什么都不用操作,点击即可,应用执行时,然后将鼠标放在#2上,会出现一个小三角,点击控制台输出11projectrunning当我们看到下面这句话的时候,说明我们的项目已经在Jenkins上配置成功,已经成功奔跑七.苏mmary如果MavenIntegration安装失败,需要手动下载javadoc.hpi文件。具体下载路径会在错误信息中提示,使用迅雷下载即可。然后在jenkins插件管理中选择高级模式,然后上传安装即可!https://plugins.jenkins.io/下载hpi文件,上传安装。如鱼得水,运维开发方便很多。记得之前面试小农的时候,面试官问,你知道Jenkins吗,还是自己搭建的?小农相信,看完这篇文章,如果你正好有面试官或者同事问你,你可以把答案告诉他,有兴趣的可以自己动手搭建。大家加油~
