Jenkins自动化部署代码
通过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自动化部署代码的更多相关文章
- Linux下的Jenkins+Tomcat+Maven+Gitlab+Shell环境的搭建使用(jenkins自动化部署)
jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...
- Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)【转】
jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...
- Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)
jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...
- AspNetCore容器化(Docker)部署(四) —— Jenkins自动化部署
一.前言 (Jenkins.Docker.Git/Svn组建一套简单的自动化发布流程) 文章中用到的相关服务器角色 角色 环境 功能 开发机 Win10.Docker(Linux OS) 编码.调试 ...
- Jenkins自动化部署入门详细教程
大纲 1.背景 在实际开发中,我们经常要一边开发一边测试,当然这里说的测试并不是程序员对自己代码的单元测试,而是同组程序员将代码提交后,由测试人员测试: 或者前后端分离后,经常会修改接口,然后重新部署 ...
- Windows环境下实现Jenkins自动化部署
详见:https://blog.csdn.net/Try_harder_every_day/article/details/79170065 Jenkins自动化部署: 几条具体的思路:1.开发人员将 ...
- Jenkins 自动化部署上线
转载于互联网 jenkins自动化部署项目,通过jenkins 部署来节省运维时间,不需要手动cp上线及版本发布 Jenkins 自动化部署上线 Jenkins Jenkins 自动化部署上线一.Je ...
- jenkins自动部署代码到多台服务器
下面讲一下如何通过一台jenkins服务器构建后将代码分发到其他的远程服务器,即jenkins自动部署代码到多台服务器. 1.下载 pulish over ssh 插件 2.系统管理 -> 系统 ...
- 关于gitlab+jenkins自动部署代码的实现
本人PHP开发者,项目组大多是PHP,少量java项目. 因公司目前服务器和项目的管理比较混乱,与领导商量后,决定尝试 gitlab+jenkins自动化部署(之前用的svn FTP手动部署代码),解 ...
随机推荐
- python ros 创建节点订阅robot_pose
建立文件夹hello_rospy,再在该目录下建立子目录src,cd到该src目录,运行如下命令创建工作包 catkin_create_pkg beginner_tutorials std_msgs ...
- python datetime模块来获取当前的日期和时间
#!/usr/bin/python # -*- coding: UTF- -*- import datetime i = datetime.datetime.now() print ("当前 ...
- c++ 算法 栅格中两点之间连线
屏幕划线,通过平面坐标系实现,基本组成是一个一个的点,起点为A,终点为B 本文的算法,可以实现平面栅格中,指定的A,B两点之间进行连线(代码中仅打印了两点间需要画出的坐标点) #include < ...
- rospy 中service
Server部分: #!/usr/bin/env python import sys import os import rospy #from beginner.srv import * from b ...
- python 斐波那契查找
def fibonacci_search(lis, key): # F = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987 ...
- 基于Socket的Android手机视频实时传输
首先,简单介绍一下原理.主要是在手机客户端 (Android)通过实现Camera.PreviewCallback接口,在其onPreviewFrame重载函数里面获取摄像头当前图像数据, 然后通过S ...
- C++STL1--set
C++STL1--set 一.说明 set的用法:单一元素,自动排序set的方法:用编译器的提示功能即可,不需要自己记 二.简单测试 /* 安迪的第一个字典 set的用法:单一元素,自动排序 set的 ...
- Intent在Activity之间传值的几种方式
发这篇博客主要讲一下Android中Intent中如何传值的几种方法: 1:基本数据类型,包含了Java八种基本数据类型和CharSequece文本2:八种数据类新对应数组和CharSequece文本 ...
- Python基础--文件操作和集合
这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件file.txt: 我们哭了 ...
- Matlab scatter 如何显示不同颜色点状
有时候需要在matlab scatter绘图中显示不同颜色区分,如下图是人体血压高压.低压与年龄关系的散点图. 红色点表示高压 绿色点表示低压 用 matlab 如何实现呢? 1.创建一维矩阵x,y1 ...