关键词:
引言
本文主要介绍Linux服务器中常用跳板机jenkins,进行远程编译部署的环境搭建。
系列文档目录
Linux 服务器 Java环境部署系列(二):安装nginx、mysql、tomcat、redis
Linux 服务器 Java环境部署系列(三):安装git、maven
Linux 服务器 Java环境部署系列(四):搭建jenkins环境、部署项目
Linux 服务器 Java环境部署系列(五):搭建RabbitMQ
搭建jenkins
安装jenkins,采用从远程在线下载安装的形式,完成后还需要对相应配置进行修改。
安装步骤
- 下载:wget https://pkg.jenkins.io/redhat-stable/jenkins-2.176.3-1.1.noarch.rpm
- 安装:rpm -ivh jenkins-2.176.3-1.1.noarch.rpm
- 修改配置文件:vim /etc/sysconfig/jenkins
- jenkins 默认端口为 8080 (建议修改,以免对tomcat等端口产生冲突)
- user改为root
- 修改Jenkins的jdk目录:
- 查看jdk安装位置:whereis jdk
- 编辑初始化配置文件(添加jdk目录):vim /etc/init.d/jenkins
- 保存修改:systemctl daemon-reload
- 启动 jenkins:systemctl start jenkins
- 查看密码(初次启动时需要):cat /var/lib/jenkins/secrets/initialAdminPassword
jenkins与码云
jenkins可以和GitHub、Gogs、码云等常用git项目管理网站进行远程部署,本文以码云为例,其他也大同小异。
- git config --global user.name "[你的用户名]"
- git config --global user.email "[你的邮箱]"
- ssh-keygen -t rsa -C "[你的邮箱]" (默认Enter就行)
- 查看生成的公钥:tail /root/.ssh/id_rsa.pub
- 查看是否连接成功:ssh git@gitee.com
- 复制/root/.ssh/id_rsa.pub里的内容,到码云进行配置ssh公钥
在gitee中依次点击:设置 -> 安全设置 -> ssh公钥,将公钥中的内容复制到公钥文本框中,随便写一个标题即可
系统配置
访问Jenkins控制台地址,外网服务器使用公有ip:http://服务器ip:8888/,初始密码在:/var/lib/jenkins/secrets/initialAdminPassword
选择“Install suggested plugins”安装默认的插件,下面Jenkins就会自己去下载相关的插件进行安装。
创建超级管理员账号,可以直接跳过,如果遇到403的情况,返回重新尝试下
系统管理-->配置全局工具配置(如果服务器安装了maven、jdk,去掉自动安装,选择自己服务器安装目录)-->点击保存,我这儿是已经在服务器安装好了的。
系统管理-->插件管理(安装好需要的插件)
因为前面推荐安装了部分,再安装几个比较好用的Jenkins插件:Rebuilder、Safe Restart、Publish Over SSH、Maven Integration、Git Parameter 依次点击:系统管理 -> 插件管理 -> 可选插件,输入插件名搜索插件,安装完重新登录下才能生效。
项目部署
在Jenkins主页点击<创建一个新任务>,然后输入任务名,选择构建一个maven项目,注意:只有安装了Maven Integration插件才有这个选项
使用shell自动编译项目成jar方式,根据实际项目情况写
#!/bin/sh echo [tags] ------------ echo [tags] 开始执行脚本 echo [tags] ------------ export BUILD_ID=dontKillMe export PROJECT_NAME=springboot-demo export NAME=demo export JAR_NAME=demo-$branch echo [INFO] "----------------------< DIR >----------------------" echo [INFO] "项目Jar包存放路径 --> /data/module/$NAME/$branch" JAR_PATH=/data/module/$NAME/$branch [ ! -e $JAR_PATH ] && mkdir -p $JAR_PATH echo [INFO] "本地项目存放路径 --> /var/lib/jenkins/workspace/$PROJECT_NAME/target" JENKINS_JAR_PATH=/var/lib/jenkins/workspace/$PROJECT_NAME/target [ ! -e $JENKINS_JAR_PATH ] && mkdir -p $JENKINS_JAR_PATH echo [INFO] "备份Jar包存放路径 --> /data/module/$NAME/$branch/lib" LIB_JAR_PATH=/data/module/$NAME/$branch/lib [ ! -e $LIB_JAR_PATH ] && mkdir -p $LIB_JAR_PATH echo [INFO] "日志文件路径 --> /data/module/$NAME/$branch/execute.log" LOG_PATH=execute.log echo [INFO] "清空临时目录" rm -rf /var/lib/jenkins/tmp/$PROJECT_NAME/ TMP_PATH=/var/lib/jenkins/tmp/$PROJECT_NAME/ [ ! -e $TMP_PATH ] && mkdir -p $TMP_PATH echo [INFO] "将jar包存入临时目录" scp /var/lib/jenkins/workspace/$PROJECT_NAME/target/*.jar $TMP_PATH process_id=$(ps -ef | grep demo-$branch | awk '{print $2}') echo [INFO] "当前进程号 $process_id" echo [INFO] "如果该项目正在运行,就杀死项目进程" if [[ ! -z "$process_id" ]] then kill -9 $process_id else echo [INFO] "该项目未运行" fi cd ${JAR_PATH} echo [INFO] "备份原有jar包到备份目录" NOW_TIME=$(date "+%Y%m%d%H%M%S") echo [INFO] "mv $JAR_NAME.jar $LIB_JAR_PATH/$JAR_NAME-$NOW_TIME.jar" mv $JAR_NAME.jar $LIB_JAR_PATH/$JAR_NAME-$NOW_TIME.jar echo [INFO] "本地项目拷贝到路径 scp $JENKINS_JAR_PATH/$JAR_NAME.jar $JAR_PATH" scp $JENKINS_JAR_PATH/$JAR_NAME.jar $JAR_PATH nohup java -jar ${JAR_NAME}.jar >$LOG_PATH & echo [tags] ------------ echo [tags] 脚本执行完毕 echo [tags] ------------ echo [INFO] "代码部署版本" echo [INFO] "version : $branch"
保存后,进到该maven项目下,点击立即构建,构建失败的话可以先清理下工作空间
查看控制定输出日志
然后到阿里云服务器使用netstat -nltp查看是否有已经成功运行的项目,这儿的端口是springboot的application.properties一样的端口。
linux服务器java环境部署系列:安装gitmaven
引言 本文主要介绍Linux服务器下搭建Java环境的相关操作:安装git、maven。系列文档目录 Linux服务器Java环境部署系列(一):安装JDK Linux服务器Java环境部署系列(二):安装nginx、mysql、tomcat、redis Linux服务器Java环... 查看详情
linux如何搭建java部署环境(代码片段)
...0c;如:JDK,MySql,Tomcat等为什么是搭建Java部署环境,而不是开发环境?答:因为Java几乎不会在 查看详情
linux搭建环境+部署项目
参考技术A前期准备:准备一台服务器,我这里用的华为云,租的时候点按需计费就行,2核4G的大概0.5元/小时,搭建+部署项目大概不到1块钱吧。购买服务器步骤如下:配置环境变量在/etc/profile这个文件里面配置操作命令:vim/etc/... 查看详情
linux学习之阿里云服务器java开发环境的搭建
...直是在windows上面进行java开发,然后打成war包部署在linux服务器上面,linux服务器上面的正式环境和测试环境都是别人搭建好的,svn服务器也是别人搭建好的,抱着一种学习的心态的就去买了个阿里云服务器于是开始搭建java开发... 查看详情
linux系列之redis环境搭建
...-c++。搭建步骤第一步:把redis的源码上传到linux服务器。第二步:解压缩:tar-zxvfredis-3.0.0.tar.gz第三步:make第四步:makeinstallPRE 查看详情
elasticsearch系列部署
linux环境centOS6.8本文采用tar包的方式部署es准备jdk8的环境5.4.0的es依赖jdk8及以上版本下载linux版的jdk jdk-8u121-linux-x64.tar.gztar-zvxfjdk-8u121-linux-x64.tar.gz//修改环境变量vim/etc/profile//添加如下JAVA_HOME=/usr/java/jdk1.8.0_121ex 查看详情
ci/cd技术专题「jenkins实战系列」全流程介绍jenkins环境搭建+基础部署配置(windows->linux)(代码片段)
背景在实际开发中,我们经常要一边开发一边测试,当然这里说的测试并不是程序员对自己代码的单元测试,而是同组程序员将代码提交后,由测试人员测试;前后端分离后,经常会修改接口,然后重... 查看详情
rabbitmq消息队列系列教程windows下安装和部署rabbitmq
...本篇经验将和大家介绍Windows下安装和部署RabbitMQ消息队列服务器,希望对大家的工作和学习有所帮助!目录一、Erlang语言环境的搭建二、RabbitMQ服务环境的搭建三、RabbitMQ服务Web管理工具 一、Erlang语言环境的搭建RabbitMQ开源消... 查看详情
linux学习2-在阿里云服务器上部署禅道环境(代码片段)
...学习下如何在Linux上搭建禅道环境。环境准备:1.一台Linux服务器,操作系统:CentOS7.464位2.Xshell5.03.Xftp5.04.ZenTaoPMS.9.8.3.zbox_64.tar.g 查看详情
linux部署(代码片段)
Linux部署搭建环境部署搭建环境#环境准备的所有命令yuminstall-ygit#安装gityuminstall-yjava-1.8.0-openjdk-devel#安装jdk8yuminstall-ymaven#安装mavenyuminstall-ymariadb-server#安装mysql服务器systemctlstartmariadb#启动mysql服务器systemctlenable 查看详情
jenk×××使用入门(代码片段)
...×.io/zh/doc/book/×××talling/推荐下载war文件,只要安装过java环境linux和Windows都可以使用使用方法java-jarjenk×××.war选择默认安装插件,配置邮件发送1,Jenk×××Location2,ExtendedE-ma 查看详情
linux系列手动命令安装软件和服务器基本环境搭建(代码片段)
软件安装方式和服务器基本环境搭建1、安装jdk1.1、jdk下载地址1.2、安装jdk1.3、测试发布打包项目2、安装tomcat2.1、官网下载tomcat2.2、解压tomcat,并启动访问1、安装jdk1.1、jdk下载地址jdk8rpm安装包官网下载地址(需要先注册... 查看详情
ruoyi前后端分离式开源项目实战部署总结-环境搭建准备工作(代码片段)
...视频教程了。这一系列文章主要分为两部分:前期的环境搭建——软件安装+Linux节点搭建开源项目下载及部署集群+ 查看详情
spark入门实战系列--2.spark编译与部署(上)--基础环境搭建
...实际应用一般使用64位操作系统,内容分为三部分:基础环境搭建、Hadoop编译安装和Spark编译安装,该环境作为后续实验基础;3、文章演示了Hadoop、Spark的编译过程,同时附属资源提供了编译好的安装包,觉得编译费时间可以 查看详情
如何把java程序部署到linux系统下
...java编译成*.class文件只需要虚拟机的支持,你只要在linux环境下装一个jdk就OK了,然后配置一下环境变量。然后java的class文件或者打包好的*.jar文件考到linux目录下就可以用了.参考技术Ajava当初宣传的时候最牛逼的一句话就是:Write... 查看详情
linux系列购买学生云服务器及服务器环境部署(代码片段)
1、云服务器购买学生或者24岁以下购买都有优惠,直接百度搜索阿里云学生云服务器即可。注册账号登录找到新人专享区域,选择想要的服务器类型(一般轻量级2核2G的就足够用了)点击购买(选择地区和镜... 查看详情
大数据学习系列之一-----hadoop环境搭建(单机)
一、环境选择1,服务器选择阿里云服务器:入门型(按量付费)操作系统:linuxCentOS6.8Cpu:1核内存:1G硬盘:40Gip:39.108.77.2502,配置选择JDK:1.8(jdk-8u144-linux-x64.tar.gz)Hadoop:2.8.2(hadoop-2.8.2.tar.gz)3,下载地址官网地址:JDK:http://www.oracle.com/te... 查看详情
精通linux系列linux下常用安装服务软件源码编译安装方式与实战部署jdk环境(代码片段)
🚀作者:“大数据小禅”🚀专栏简介:本专栏主要分享Linux技术,会涉及到常用的Linux命令操作,常用的服务部应用署以及相关运维知识,还有一些Linux系统的深层解析,Linux系列专栏地址,欢... 查看详情