jenkins的部署

一、部署git

1)先检查系统是否已经自带了git,如果有,就卸载

$ rpm -qa | grep git &&  rpm -e git --nodeps

2)开始安装git所需要的依赖包

$ yum -y install curl-devel gettext-devel expat-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

3)下载git源码包并安装

$ wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
$ tar xvf git-2.9.5.tar.gz -C /usr/local/src
$ cd /usr/local/src/git-2.9.5/
$ make prefix=/usr/local/git all
$ make prefix=/usr/local/git install

4)修改环境变量

$ vim /etc/profile
export PATH=$PATH:/usr/local/git/bin
$ source /etc/profile

5)测试

$ git --version
git version 1.8.3.1

二、部署jdk环境

2.1. 检测是否有自带的jdk环境,如果有就卸载

$ rpm -qa | grep jdk && yum -y remove java*

2.2. 下载JDK

$ wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz
#wget --no-check-certificate --no-cookies --header "Cookie直接下载JDK,避免用户验证"

$ tar xvf jdk-8u181-linux-x64.tar.gz -C /usr/local/
$ mv /usr/local/jdk1.8.0_181 /usr/local/java

2.3. 修改环境变量

$ vim /etc/profile
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin:/usr/local/git/bin
$ source /etc/profile

2.4. 测试

$ java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

三、部署Maven

3.1. 下载maven包

$ wget http://mirrors.shu.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz

3.2. 解压Maven

$ tar xvf apache-maven-3.5.4-bin.tar.gz -C /usr/local
$ mv /usr/local/apache-maven-3.5.4 /usr/local/maven

3.3. 修改环境变量

$ vim /etc/profile
export JAVA_HOME=/usr/local/java
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:/usr/local/git/bin
$ source /etc/profile

3.4.测试

$ mvn -version
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)
Maven home: /usr/local/maven
Java version: 1.8.0_181, vendor: Oracle Corporation, runtime: /usr/local/jdk1.8.0_181/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-514.26.2.el7.x86_64", arch: "amd64", family: "unix"

四、部署Tomcat

4.1. 下载Tomcat

$ wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-9/v9.0.16/bin/apache-tomcat-9.0.16.tar.gz

4.2. 解压Tomcat

$ tar xvf apache-tomcat-9.0.16.tar.gz -C /usr/local
$ mv /usr/local/apache-tomcat-9.0.16 /usr/local/tomcat

4.3. 修改环境变量

$ vim /etc/profile
export JAVA_HOME=/usr/local/java
export MAVEN_HOME=/usr/local/maven
export CATALINA_HOME=/usr/local/tomcat
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:/usr/local/git/bin
$ source /etc/profile

4.4. 增加熵池大小,快速启用tomcat

$ yum -y install rng-tools
$ cp /usr/lib/systemd/system/rngd.service /etc/systemd/system
$ vim /etc/systemd/system/rngd.service
ExecStart=/sbin/rngd -f -r /dev/urandom
$ systemctl daemon-reload
$ systemctl restart rngd

4.5. 编写tomcat的启动脚本

$ vim /usr/lib/systemd/system/tomcat.service
[Unit]
Description=Tomcat
After=network.target
[Service]
Type=forking
Environment="JAVA_HOME=/usr/local/java" //tomcat启用时需要识别JAVA_HOME
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
[root@jenkins ~]# chmod 600 /usr/lib/systemd/system/tomcat.service
[root@jenkins ~]# systemctl daemon-reload

5.6. 测试

$ systemctl start tomcat
$ ss -antp | grep java
LISTEN 0 100 :::8009 :::* users:(("java",pid=5717,fd=54))
LISTEN 0 100 :::8080 :::* users:(("java",pid=5717,fd=49))
LISTEN 0 1 ::ffff:127.0.0.1:8005 :::* users:(("java",pid=5717,fd=107))

五、部署jenkins

5.1. 下载jenkins.war包

$ wget http://mirrors.jenkins.io/war/latest/jenkins.war

5.2. 安装jenkins(放到tomcat的webapps目录下,启用tomcat即可)

$ cp jenkins.war /usr/local/tomcat/webapps

5.3. 测试

$ systemctl restart tomcat

5.4. 修改首页

<Context path="" docBase="/usr/local/tomcat/webapps/jenkins/" debug="0"/>

 

六、配置jenkins

6.1. jenkins的安装

$ cat /root/.jenkins/secrets/initialAdminPassword
5e94c58bcd6a4fc5b7f49675c39a44bf
6.1.1. 报错

解决办法:
$ find / -name "hudson.model.UpdateCenter.xml"
/root/.jenkins/hudson.model.UpdateCenter.xml <?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://updates.jenkins.io/update-center.json</url>
</site>
</sites> https修改为http

6.2. 点击安装推荐的插件

6.3. 等待插件下载完成

6.4. 设置管理员账号密码

6.5. 配置访问Jenkins的URL

6.6. Start Using Jenkins

输入账号密码登录

6.7. jenkins插件的安装

6.7.1 安装SSH Publish Over SSH 用于ssh连接的

6.7.2 安装GitLab 为git客户端从git主库取代码

6.7.3. 安装Maven Integration plugin 编译打包

6.8. jenkins系统设置

6.8.1. 配置jdk根目录

6.8.2. 配置git命令的绝对路径

6.8.3. 配置Maven根目录

Apply and Save

6.8.4. 配置ssh

$ ssh-copy-id -i 192.168.1.10       //后端gitlab的ip地址
$ cat .ssh/id_rsa

Apply and Save

Hostname为后端tomcat服务器的ip地址
Remote Directory ssh过去后在机器的什么目录下 点击Test Configuration 显示Success则表示成功----> Apply and Save

6.9. 在GitLab服务器上获取Token

6.9.1. 创建用户获取Token

6.10. jenkins服务器上配置Gitlab

七、创建一个Jenkins Job

7.1. 创建job

7.2. 生成访问GitLab的ssh秘钥

从Gitlab上以SSH的方式拉取或提交代码需要用到这个SSH秘钥,哪台机器需要从GitLab上拉取代码,就在哪台机器上生成SSH key

$ ssh-keygen -t rsa -C "<添加一些注释>" -b 4096
$ cat .ssh/id_rsa.pub

7.3. 配置Job




7.4. 配置Job的构建触发器

选择“构建触发器”,勾选“Pull SCM”,这个选项会每隔一段时间检查一下GitLab仓库中代码是否有更新,有的话就执行构建操作。日程表如何设置,在这个输入框下面有说明。

7.5. 配置打包

7.6.打包完成之后的动作

$ mkdir /jenkins/{jar,sh} -p
$ vim /jenkins/sh/web.sh
cp /jenkins/jar/*.jar /jenkins
echo successfully > /root/jenkins.log
$ chmod +x /jenkins/sh/web.sh
7.6.1. 报错

脚本没有执行权限,需要给脚本授权

$ chmod +x 脚本

Jenkins去GitLab拉取Java代码自动打包的更多相关文章

  1. Jenkins + Maven + Ansible + Tomcat 实现JAVA代码自动部署

    自动部署过程: jenkins从svn拉取代码,调用maven去打war包,用ansible去解压war包,最后重启tomcat. 前情回顾:在前面的文章我的环境已经有Jenkins+ansible ...

  2. Jenkins教程(三)添加凭据与流水线拉取Git代码

    前言 本文旨在配置凭据.使用Git仓库中的Jenkinsfile与使用声明式流水线拉取Git代码 使用SVN等其他版本控制工具,请参考使用Pipeline-Syntax生成对应代码块 凭据(crede ...

  3. 【Copy攻城狮日志】docker搭建jenkins拉取svn代码打包vue项目部署到nginx

    ↑开局一张图,故事全靠编↑ 前言 打开搜索引擎输入『Copy攻城狮』,发现最新的一条记录已经是去年的4月,意味着我又有一年时间没有再总结成长了.习惯了“温水煮青蛙”的日子,无论是经验水平还是薪资收入, ...

  4. 【Git】4、创建代码仓库,HTTP、SSH拉取远端代码

    拉取远端代码:使用Git命令下载远程仓库到本地 文章目录 拉取远端代码:使用Git命令下载远程仓库到本地 1.创建远程代码仓库 2.创建仓库 3.进入仓库 4.HTTP(S)获取远程仓库 首次拉取 更 ...

  5. Java代码自动部署

    注:本文来源于<it小熊> [ ①Java代码自动部署-总结简介] 代码部署是每一个软件开发项目组都会有的一个流程,也是从开发环节到发布功能必不可少的环节.对于Java开发者来说,Java ...

  6. git 拉取远程代码

    git 拉取远程代码 || 利用vscode编辑器自带了git,可在ctrl+~打开控制台拉取代码,非常好用哦~在实际项目开发过程中,往往是已经存在远程项目了,我们定义的需求是只需要简单的操作git, ...

  7. git使用命令行拉取远程代码仓库中的分支至本地

    1.本地创建文件夹用于存放拉取的代码 2.执行git init初始化文件夹 3.与远程代码仓库建立连接 git remote add origin git@github.com.wuylin/noth ...

  8. 开发环境,eclipse编辑器java代码自动提示

    Eclipse+ADT+Android SDK 搭建安卓开发环境 eclipse编辑器java代码自动提示 window-->Preferences-->JAva-->Content ...

  9. 手把手教你如何把java代码,打包成jar文件以及转换为exe可执行文件

    1.背景: 学习java时,教材中关于如题问题,只有一小节说明,而且要自己写麻烦的配置文件,最终结果却只能转换为jar文件.实在是心有不爽.此篇博客教你如何方便快捷地把java代码,打包成jar文件以 ...

随机推荐

  1. ORACLE——EXTRACT() 截取日期时间的函数使用

    1.截取日期的 年: --使用方法 EXTRACT(YEAR FROM DATE) SQL> SELECT EXTRACT( YEAR FROM SYSDATE ) FROM DUAL; --结 ...

  2. js中把ajax获取的数据转化成树状结构(并做成多级联动效果)

    1.首先通过ajax获取数据,此处省略,直接贴出获取到的数据格式 var arr = [{ id: 1, name: "一级标题", pid: 0 }, { id: 2, name ...

  3. The world is in my hands

    Null项 其实我还是比较希望你能理解我的心情 无聊666回味

  4. EntityFramework如何创建索引?

    一.首先创建一个类 FwEntityTypeConfiguration 继承 EntityTypeConfiguration ,该类完整代码如下: using System.Data.Entity.M ...

  5. 设置VS2017背景图片

    设置方法很简单:安装扩展ClaudiaIDE 1.在这里下载扩展,https://visualstudiogallery.msdn.microsoft.com/9ba50f8d-f30c-4e33-a ...

  6. PL/SQL Block中对单引号进行转义

    可以使用如下的方式: STR := q'[ CREATE TABLE TNAME AS SELECT ... FROM INPUT_TABLE IP WHERE ((IP.DATE_FIELD = T ...

  7. (3)打造简单OS-MBR引导区转移加载简单程序(突破512限制)

    在第一节<(1)汇编写入引导区,虚拟机启动步骤>中讲解到一个简单屏幕显示一川字符串,第二节讲到BIOS启动过程! 第一节中基本原理就是将那个汇编代码用nasm汇编器进行汇编成二进制,然后把 ...

  8. 基于PLC1850平台的ICMP包请求与响应

    一.以太网IP包报文格式 IP包是连接在以太网首部(以太网目的MAC地址(6个字节)+以太网源MAC地址(6个字节)+帧类型(2个字节))之后. IP报文中各个字段分析如下: ①.版本:在IP报文中, ...

  9. Linux系统安装Docker

    1.安装Linux系统 2.查看centos内核版本.Docker要求centos的内核版本必须高于3.10.使用命令:uname -r 查看内核版本.如果低于3.10,使用命令:yum update ...

  10. h5页面在ios机上禁止长按复制

    (注意,增加之后需要对input的另外设置,不然输入框无法输入)场景:H5出现一个按钮需要长按几秒展示动画的,如:skcs.net-tactic.com/wap/peace/index,这时就需要用到 ...