Linux服务器搭建概要(二)

环境信息

centos7.2

安装目录

maven下载与安装

GIT下载与安装

jenkins下载与安装

maven下载与安装

1. 安装前工作

下载maven传送门

下载与安装

下载
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
解压
tar -zxvf apache-maven-3.5.4-bin.tar.gz
移动并且改名
mv apache-maven-3.5.4 ./../apache-maven-3.5.4
查看位置
[root@iz2ze7qyvg1mht4uptlc5uz apache-maven-3.5.4]# pwd
/usr/local/java/apache-maven-3.5.4

编辑配置

vim /etc/profile
增加以下配置
export MAVEN_HOME=/usr/local/java/apache-maven-3.5.4
export PATH=${PATH}:${MAVEN_HOME}/bin
文件生效
source /etc/profile

查看是否安装成功

[root@iz2ze7qyvg1mht4uptlc5uz apache-maven-3.5.4]# mvn -v
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)
Maven home: /usr/local/java/apache-maven-3.5.4
Java version: 1.8.0_151, vendor: Oracle Corporation, runtime: /usr/java/jdk1.8.0_151/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-862.9.1.el7.x86_64", arch: "amd64", family: "unix"

GIT下载与安装

1. 安装前工作

下载git传送门

下载

下载
wget https://www.kernel.org/pub/software/scm/git/git-2.9.2.tar.gz
解压
tar   -xzvf   git-2.9.2.tar.gz
移动并且改名
mv git-2.9.2 ./../git-2.9.2
查看位置
[root@iz2ze7qyvg1mht4uptlc5uz git-2.9.2]# pwd
/usr/local/java/git-2.9.2

安装

#进入解压后的git目录后,执行:
./configure
#执行编译
make all prefix=/usr/local/git 
#编译完成后, 安装到 /usr/local/git 目录下
make install prefix=/usr/local/git

安装常见依赖问题
如果想省事请直接安装一下依赖包

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
[root@iz2ze7qyvg1mht4uptlc5uz git-2.9.2]# make install
GIT_VERSION = 2.9.2
    * new build flags
    CC credential-store.o
In file included from credential-store.c:1:0:
cache.h:40:18: fatal error: zlib.h: No such file or directory
 #include <zlib.h>
                  ^
compilation terminated.
make: *** [credential-store.o] Error 1
#出现错误,增加zlib依赖
rpm -qa | grep zlib查看是否安装zlib
#没有安装
yum install zlib
#下面的这个需要安装
yum install zlib-devel


[root@iz2ze7qyvg1mht4uptlc5uz git-2.9.2]# make install
/usr/bin/perl Makefile.PL PREFIX='/usr/local' INSTALL_BASE='' --localedir='/usr/local/share/locale'
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 3.
BEGIN failed--compilation aborted at Makefile.PL line 3.
make[1]: *** [perl.mak] Error 2
make: *** [perl/perl.mak] Error 2
需要安装perl的一个模块:perl-ExtUtils-Embed
 yum install perl-ExtUtils-Embed -y

查看结果

git --version

创建账号

#为我们刚刚搭建好的 git 创建一个账号
useradd -m gituser(自己的账号)
#然后会让你输入密码(密码应该需要特殊符号+数据+大小写字母)
passwd gituser(刚刚创建的用户名) 

创建 git 仓库并初始化

mkdir -p /data/repositories
cd /data/repositories/ 
git init --bare testGit.git

配置用户权限

#给 git 仓库目录设置用户和用户组并设置权限:
chown -R gituser:gituser /data/repositories
chmod 755 /data/repositories
#查找 git-shell 所在目录
(默认在/usr/local/git/bin/git-shell,如果不在用: which git-shell指令查找)
# 编辑 /etc/passwd 文件,将最后一行关于 gituser 的登录 shell 配置改为 g
gituser:x:1000:1000::/home/gituser:/usr/local/bin/git-shell

使用搭建好的 Git 服务

#克隆 test repo 到本地:
git clone gituser@ip:/data/repositories/test.git

jenkins下载与安装

Jenkins是一个Master-Slave的架构,它可以把任务发布到不同的节点上执行,典型的应用场景是你有2个运行环境,一个是测试环境,一个是生产环境,你可以指定工作流中,哪些任务在测试环境中执行,哪些任务在生产环境中执行。当然,如果你没有这样的需求,也可以不配置Slave.

1. 安装前工作

下载jenkins传送门(下载的是最新的版本)

安装方式(四种)
1. 离线安装

## http://pkg.jenkins-ci.org/redhat/
wget http://pkg.jenkins-ci.org/redhat/jenkins-2.39-1.1.noarch.rpm ## 下载(也可以Windows下载再转过来)
sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins.io.key ## 公钥
sudo yum -y install jenkins-*.noarch.rpm
  1. 在线安装
## http://pkg.jenkins-ci.org/redhat/
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
sudo yum -y install jenkins 
  1. 基于 Tomcat 安装
安装并启动 Tomcat;
从官网下载 jenkins.war 至 $CATALINA_BASE/webapps,Tomcat 会自动部署;
浏览器访问:http://centos:8080/jenkins/
  1. 免安装方式
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
sudo java -jar jenkens.war ## 启动服务,直至看到日志 `Jenkins is fully up and running`
curl http://localhost:8080/ ## Jenkins 已就绪

密码破解

cd /var/lib/jenkins/users/admin #此为admin用户的目录,也可以对应自己创建的用户 
vim config.xml //定位到<passwordHash>那一行 
删除改行,改为 
<passwordHash>#jbcrypt:$2a$10$pDQks0ytOkCfmpdgpLygrOC3uY7i/XnZHBKRQDhrBPwKoN2f5Kz8C</passwordHash> 
重启一下jenkins 
新密码为admin

启动与关闭

#关闭
service jenkins stop
#状态
service jenkins status
#启动
service jenkins start
#设置为自动启动
chkconfig jenkins on

jenkins安装中文显示

前提:先安装插件:Locale plugin

配置如下:

 jienkins->【系统管理】->【系统设置】->【Locale】,输入:zh_CN,这里还有很多语言,比如:en_US等都是国际化标志。

访问端口登录

#查看密码
cat /var/lib/jenkins/secrets/initialAdminPassword

创建非对称密钥(一路回车)

ssh-keygen

配置maven,jdk,git(如果没有git插件配置项,去安装git的相关插件)

针对之前手动安装的maven需要在web界面配置进行结合。

系统管理—全局工具配置(Maven Configuration)配置:

对应的英文配置目录为

jenkins

——Manage Jenkins

———-Global Tool Configuration
然后配置Maven Configuration(配置maven的setting.xml位置)和JDK(java_home的位置)和Maven三项(maven_home的位置)

配置系统的一些属性
https://img-blog.csdn.net/2018081515194543?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2E2NTY2Nzg4Nzk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70

自动部署方式

一种是Deploy to container Plugin

一种是Publish Over SSH(本文采用此种方式)

使用jenkins搜索插件Publish Over SSH安装重启

jenkins创建项目的时候没有“创建一个maven项目的解决方案”

 点击“可选插件”  然后在右边的过滤输入框中输入搜索关键字: Maven Integration Plugin  或者 Pipeline Maven Integration Plugin ,搜索到了以后,点击直接安装,
 安装完成后重启就好了。

配置Publish over SSH

在系统管理-》系统设置里找到Publish over SSH

配置如下
https://img-blog.csdn.net/20180815173638756?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2E2NTY2Nzg4Nzk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70

接着配置我们的项目
https://img-blog.csdn.net/20180815174705841?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2E2NTY2Nzg4Nzk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70
讲解:

Transfer SetSource files:表示要上传的本地的war包及路径(注意:相对于工作区的路径。看后面的配置可以填写多个,默认用,分隔)

Remove prefix:表示要上传时要去除的文件夹,移除目录(只能指定Transfer Set Source files中的目录,这里移除了target目录表示只将FinServer.war传到目标服务器,否则会在目标服务器创建target目录)

remote driectory:即表示执行时的路径,相当于把war包上传到这里了。远程目录(根据你的需求填写,这里没有填写默认会继承系统配置,即/mnt)

exec commad:要执行的命令;把你要执行的命令写在里面(这里的命令是在目标服务器上执行的)

构建ssh自动发布的注意点

Jenkins搭建过程中,使用 Publish Over SSH 插件。发生 SSH: Transferred 0 file(s)。

百度、google了几个小时,终于找到答案,特此记录。

配置如下:

Source files      **/* 表示{projectName}这个job的工作目录下所有的文件和目录。
Remove prefix   该操作是针对上面的source files目录,会移除匹配的目录。通常留空。
Remote directory 该操作是基于设定的服务器目录进行。
Exec command 远程服务器执行的命令。例如可以输出 service jenkins restart 或者 /home/xx. sh 均可。
总结

      源文件 不要填绝对路径,要写相对路径。 举个栗子: 我的jar包路径是: /var/lib/jenkins/workspace/erp/target/erp.jar    这里要填 target/*。

自动执行脚本

#!/bin/sh  
#defined 
TOMCAT_HOME="/usr/local/java/apache-tomcat-8.0.47-jenkins/"  
ID=`ps -ef | grep apache-tomcat-8.0.47-jenkins | grep -v grep |awk '{print $2}'`  
echo $ID   
echo "kill tomcat"  
kill -9 $ID  
echo "remover war file"  
cd "$TOMCAT_HOME"/webapps  
rm -rf ShiroDemo
rm -rf ShiroDemo-0.0.1-SNAPSHOT.war  
echo "copy war to webapp"  
cd /home/kunzai  
cp ShiroDemo-0.0.1-SNAPSHOT.war "$TOMCAT_HOME"/webapps  
cd "$TOMCAT_HOME"/bin  
echo "start tomcat"  
./startup.sh

讲解:

步骤:
先停掉tomcat
删除webapp下对应的war包
复制war到webapps
重启tomcat

构建

点击构建-就会运行了

猜你喜欢

转载自blog.csdn.net/a656678879/article/details/81698806
今日推荐