通过jenkins自动化部署项目代码可以大幅度节省打包上传部署的时间,提高开发测试的工作效率

========== 完美的分割线 ===========

1.Jenkins是什么

1)Jenkins是一款自包含的开源自动化服务,可用于自动执行与构建,测试和交付或部署软件有关的各种任务。
2)Jenkins目前可以通过本地系统软件包Docker进行安装,甚至可以通过任何安装了Java运行环境的计算机独立运行

2.上线流程

借用一张图简单说明下:

3.配置系统环境,安装jdk

# 系统环境:

CentOS7.5和6.9都适用,以7.5为例

3.1.关闭防火墙

mkdir -p /server/tools
cd /server/tools
iptables -F
iptables -X
systemctl stop firewalld
systemctl disable firewalld

3.2.配置阿里云的yum源

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all && yum makecache

3.3.安装jdk

# jdk下载地址(推荐下载当前最新版本jdk-8u181-linux-x64.rpm,然后上传)

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

1)安装jdk

rpm -qa | grep jdk
rpm -e --nodeps jdk
rpm -ivh jdk-8u181-linux-x64.rpm
java -version

2)配置环境变量脚本

echo '#!/bin/sh' >>/etc/profile.d/java.sh
echo "# This is JAVA profile by zhaoshuai in $(date +%F)." >>/etc/profile.d/java.sh
echo 'export JAVA_HOME=/usr/java/latest' >>/etc/profile.d/java.sh
echo 'export PATH=$JAVA_HOME/bin:$PATH' >>/etc/profile.d/java.sh
cat /etc/profile.d/java.sh
source /etc/profile.d/java.sh

3)检查Java配置

echo $JAVA_HOME
echo $PATH

4.安装Jenkins

4.1.下载jenkins官方的yum源

# 官方源:https://pkg.jenkins.io/redhat-stable/

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

# 关于安装版本的选择:有周更的版本和长期支持的稳定版

1)LTS长期支持版 (Long-term Support)
# 建议生产环境安装 2)Weekly周更
# 建议测试环境或者自己调试使用,版本更新快,可以体验一些新功能
# 可以使用以下命令安装jenkins的yum库
# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
# rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key 3)也可以手动下载jenkins的rpm和war包安装包进行安装
https://jenkins.io/download/
https://prodjenkinsreleases.blob.core.windows.net/redhat-stable/jenkins-2.121.3-1.1.noarch.rpm
http://mirrors.shu.edu.cn/jenkins/war-stable/2.121.3/jenkins.war

4.2.安装配置jenkins

1)yum安装jenkins

yum install jenkins -y

2)修改以下配置
# 自定义jenkins的数据目录和运行用户,便于数据迁移和权限控制,目录需要手动创建

mkdir -p /data/jenkins
vim /etc/sysconfig/jenkins
-------------------------
JENKINS_HOME="/data/jenkins"
JENKINS_USER="root"
--------------------------

3)启动配置jenkins

# 启动后通过浏览器访问进行后续配置

systemctl start jenkins

# jenkins默认端口为8080,正常启动后使用浏览器访问本机的IP:8080进行配置

会打开类似上面这个窗口,按照提示输入默认初始化登陆密码

点击继续按钮,会出现以上页面,安装推荐的插件即可

注意:如果在这一步出现了“该Jenkins实例似乎已离线”这个问题,需要修改以下文件

[root@1010-PubCenter jenkins]# vim /data/jenkins/hudson.model.UpdateCenter.xml
----------------------------------
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>http://updates.jenkins.io/update-center.json</url>    # 将https修改为http
</site>
</sites>
----------------------------------

修改完成,重新启动jenkins,继续操作,安装推荐插件

安装完成,配置默认的管理员用户,可以使用默认的admin

然后下一步,配置用于访问的url,如果有配置DNS可以修改一下,便于访问

单击保存并完成,进入jenkins管理平台

至此,jenkins软件就安装完成了,如果要进项项目的配置,需要安装相关的插件

4)jenkins相关文件目录

/etc/sysconfig/jenkins         # jenkins的主配置文件,可以修改数据目录,运行用户,端口,“JENKINS_HOME”等配置。
/usr/lib/jenkins/     # jenkins的安装目录,存储jenkins.war
/var/lib/jenkins/     # 默认的JENKINS_HOME数据目录,存储相关配置和数据,建议修改
/var/log/jenkins/jenkins.log # jenkins日志文件

参考文章:

https://www.abcdocker.com/abcdocker/3174

==== 完毕,呵呵呵呵 ====

Jenkins自动化部署代码的更多相关文章

  1. Linux下的Jenkins+Tomcat+Maven+Gitlab+Shell环境的搭建使用(jenkins自动化部署)

    jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...

  2. Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)【转】

    jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...

  3. Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)

    jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...

  4. AspNetCore容器化(Docker)部署(四) —— Jenkins自动化部署

    一.前言 (Jenkins.Docker.Git/Svn组建一套简单的自动化发布流程) 文章中用到的相关服务器角色 角色 环境 功能 开发机 Win10.Docker(Linux OS) 编码.调试 ...

  5. Jenkins自动化部署入门详细教程

    大纲 1.背景 在实际开发中,我们经常要一边开发一边测试,当然这里说的测试并不是程序员对自己代码的单元测试,而是同组程序员将代码提交后,由测试人员测试: 或者前后端分离后,经常会修改接口,然后重新部署 ...

  6. Windows环境下实现Jenkins自动化部署

    详见:https://blog.csdn.net/Try_harder_every_day/article/details/79170065 Jenkins自动化部署: 几条具体的思路:1.开发人员将 ...

  7. Jenkins 自动化部署上线

    转载于互联网 jenkins自动化部署项目,通过jenkins 部署来节省运维时间,不需要手动cp上线及版本发布 Jenkins 自动化部署上线 Jenkins Jenkins 自动化部署上线一.Je ...

  8. jenkins自动部署代码到多台服务器

    下面讲一下如何通过一台jenkins服务器构建后将代码分发到其他的远程服务器,即jenkins自动部署代码到多台服务器. 1.下载 pulish over ssh 插件 2.系统管理 -> 系统 ...

  9. 关于gitlab+jenkins自动部署代码的实现

    本人PHP开发者,项目组大多是PHP,少量java项目. 因公司目前服务器和项目的管理比较混乱,与领导商量后,决定尝试 gitlab+jenkins自动化部署(之前用的svn FTP手动部署代码),解 ...

随机推荐

  1. shell 字符串运算符

    字符串运算符 下表列出了常用的字符串运算符,假定变量 a 为 "abc",变量 b 为 "efg": 运算符 说明 举例 = 检测两个字符串是否相等,相等返回 ...

  2. ubuntu 14.04 (desktop amd 64) 安装和配置ROS Indigo

    安装ROS 配置Ubuntu的软件源 配置Ubuntu要求允许接受restricted.universe和multiverse的软件源,可以根据下面的链接配置: https://help.ubuntu ...

  3. MongoDB(课时7 逻辑运算)

    3.4.2.2 逻辑运算 逻辑运算主要三种类型:与($and),或($or),非($not.$nor). 范例:查询年龄在20~21岁的学生信息 db.students.find({"age ...

  4. Redis之哈希类型命令

    Hash(哈希) Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象. Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿 ...

  5. js中如何访问对象和数组

    js中如何访问对象和数组 一.总结 一句话总结:js访问对象点和中括号,访问数组的话就是中括号 对象 . [] 数组 [] 1.js访问对象的两种方式? . [] 可以使用下面两种方式访问对象的属性和 ...

  6. Java基础八--构造函数

    Java基础八--构造函数 一.子父类中构造函数的特点 1.1 为什么在子类构造对象时,发现,访问子类构造函数时,父类也运行了呢? 原因是:在子类的构造函数中第一行有一个默认的隐式语句. super( ...

  7. C#复制文件

    string pLocalFilePath ="";//要复制的文件路径 string pSaveFilePath ="";//指定存储的路径 if (File ...

  8. 一个简单可参考的API网关架构设计

    网关一词较早出现在网络设备里面,比如两个相互独立的局域网段之间通过路由器或者桥接设备进行通信, 这中间的路由或者桥接设备我们称之为网关. 相应的 API 网关将各系统对外暴露的服务聚合起来,所有要调用 ...

  9. 解决Word 2013, Word 2016的保存太慢的问题

    尝试下面步骤: 方法 一:文件〉选项〉高级〉,保存,关闭“允许后台保存”选项. 提示:禁止该项功能可能存在风险, 请及时保存文件. 方法二:禁用 Office  中的硬件加速 1.启动任一 Offic ...

  10. 12月3日周日,关联:has_many(dependent::delete_all和destroy的区别) 注意看log; where等查询语句的用法。 layout传递参数❌

    错误❌: 1.belongs_to :job, dependent: :destroy //尝试删除一条resumen后,job没有同步删除?? 答:建立一对多的关系,如job和resume.应该在j ...