通过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. air for android 使用ANE来获取安卓手机IMEI号

    一首页创建一个ANE文件 1 使用FlashBuilder 或者Eclipse 创建一个新的android项目     A 创建文件Extension.java package com.dabing. ...

  2. C#中正确使用enum做Key的姿势

    C#中自定义enum,然后将其作为Dictionary的Key,通常的做法如下: using System; using System.Text; using System.Collections.G ...

  3. Python 爬虫-信息的标记xml,json,yaml

    2017-07-26  23:53:03 信息标记的作用有: 标记后的信息可形成信息组织结构,增加了信息维度 标记的结构与信息一样具有重要价值 标记后的信息可用于通信.存储或展示 标记后的信息更利于程 ...

  4. php 8小时时间差的解决方法小结

    原来从php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的 也就是显示的时间(无论用什么php命令)都是格林威治标准时间 和我们的时间(北京时间)差了正好 ...

  5. 20170728xlVba简单的匹配

    Sub MatchData() Dim i As Long, EndRow As Long, Key As String Dim Rng As Range Dim Dic As Object Set ...

  6. Hibernate中的HQL的基本常用小例子,单表查询与多表查询

    <span style="font-size:24px;color:#3366ff;">本文章实现HQL的以下功能:</span> /** * hql语法: ...

  7. nyoj-310-河南省第四届省赛题目-二分+dinic

    SECRET 时间限制:3000 ms  |  内存限制:65535 KB 难度:6   描述 Dr.Kong is constructing a new machine and wishes to ...

  8. java连接MySql数据库 zeroDateTimeBehavior

    JAVA连接MySQL数据库,在操作值为0的timestamp类型时不能正确的处理,而是默认抛出一个异常, 就是所见的:java.sql.SQLException: Cannot convert va ...

  9. Mybatis学习总结-----mybatis中refid是什么意思(十)

    1.首先定义一个sql标签,一定要定义唯一id<sql id="Base_Column_List" >name,age</sql>2.然后通过id引用< ...

  10. linux command wc

    Linux command wc [Purpose]        Learning how to statistics line numbers in file   [Eevironment]    ...