欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:運維 jenkins搭建與部署

柚子快報激活碼778899分享:運維 jenkins搭建與部署

http://yzkb.51969.com/

參考博客:https://blog.csdn.net/m0_58943936/article/details/135368557 Jenkins官網:https://jenkins.io/ 或 https://www.jenkins.io/zh/download/ Jenkins官網文檔:https://www.jenkins.io/zh/doc/ jenkins安裝包:http://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/ jenkins插件庫: https://plugins.jenkins.io/ 清華鏡像:http://updates.jenkins-ci.org/download/war/ jdk下載地址:https://www.oracle.com/java/technologies/downloads/#java8 maven下載地址:https://maven.apache.org/download.cgi

一、環(huán)境準備

1、jdk安裝(安裝jdk8和jdk11,如果需要部署的項目都是jdk11寫的可不安裝jdk8)

1.1、安裝配置jdk

# 查詢系統(tǒng)是否已安裝jdk并卸載

rpm -qa|grep java

# 如果查詢沒有已安裝則進行下一步操作, 如果有已安裝Jdk則卸載已安裝的jdk

rpm -e --nodeps java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64

# 驗證是否已經卸載

rpm -qa|grep java

# 再次查看Java版本,沒有任何信息就表示刪除成功了

java -version

javac -version

1.2 安裝jdk

# 創(chuàng)建jdk存放文件夾 將jdk文件上傳到該文件夾

mkdir /usr/local/Jdk

# 解壓 修改解壓后的文件夾名為java8和java11

tar -zxvf /usr/local/Jdk/jdk-8u411-linux-x64.tar.gz

tar -zxvf /usr/local/Jdk/jdk-11.0.23_linux-x64_bin.tar.gz

# 配置JDK環(huán)境變量,編輯 /etc/profile 文件

vi /etc/profile

# 先將光標(可以使用快捷鍵Shift+g)移到最后一行,然后輸入 i 進入編輯狀態(tài),粘貼如下內容,輸入Esc 進入命令模式 輸入:wq 保存修改信息

export JAVA_HOME=/usr/local/Jdk/java8

export PATH=$JAVA_HOME/bin:$PATH

# 配置文件生效

source /etc/profile

# 測試 JDK 安裝

java -version

javac -version

2、maven安裝

2.1、安裝maven

# 將maven文件上傳到/usr/local

# 解壓 修改文件夾名為maven

tar -zxvf /usr/software/apache-maven-3.9.6-bin.tar.gz

# 配置Maven環(huán)境變量

vi /etc/profile

# 先將光標(可以使用快捷鍵Shift+g)移到最后一行,然后輸入 i 進入編輯狀態(tài),在JAVA_HOME后面粘貼如下內容

export MAVEN_HOME=/home/soft/maven/apache-maven-3.9.6

# 修改PATH為

export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

# 配置文件生效

source /etc/profile

# 測試maven安裝

mvn -version

2.2、配置本地倉庫

# 在maven文件夾中創(chuàng)建maven-repository用于當本地倉庫

mkdir -p /usr/local/maven/maven-repository

# 切換目錄

cd /usr/local/maven/maven-repository/conf

# 編輯settings.xml配置文件

vim settings.xml

# 在其中增加如下配置,配置本地倉庫地址:

/usr/local/maven/maven-repository

# 配置阿里云的私服(選做),提高依賴下載速度

alimaven

central

aliyun maven

http://maven.aliyun.com/nexus/content/groups/public/

3、git安裝

# 服務器安裝git

yum -y install git

# 查看git路徑

which git

二、jenkins安裝

1、官網下載(下載最新版即可)

2、上傳服務器

# 進入war包存放位置,啟動jenkins

nohup /usr/local/Jdk/java11/bin/java -jar -server -Xms1024m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m jenkins.war --httpPort=16060 &

# 開放端口

firewall_cmd --permanent --zone=public --add-port=16060/tcp

# 更新防火墻規(guī)則

firewall-cmd --reload

# 查看端口開啟信息

firewall-cmd --list-ports

3、瀏覽器打開http://你的服務器ip:16060/

# 查看初始化密碼(復制后填寫到頁面的管理員密碼中)

cat /root/.jenkins/secrets/initialAdminPassword

4、安裝推薦的插件

5、輸入用戶名密碼郵箱

6、配置訪問地址(默認即可,也可按需更改)

7、點擊開始使用jenkins 就可以使用jenkins了

三、jenkins配置

1、所需插件

Git Parameter git參數Localization: Chinese (Simplified) 簡體中文包SSH server ssh服務器Build With Parameters 輸入框式的參數(可選)Persistent Parameter 下拉框式的參數(可選)SSH ssh配置Publish Over SSH 通過SSH發(fā)送構建好的jar包或war包Role-based Authorization Strategy (可選用戶權限)

2、配置國內清華鏡像源

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

3、插件安裝方法

4、配置maven

位置:系統(tǒng)管理-全局工具配置-maven配置 MAVEN_HOME替換為服務器maven所在路徑

5、配置jdk (JAVA_HOME替換為服務器jdk所在路徑)

6、配置git

7、配置憑據(git賬號)

入口點擊System進入全局憑據進入System后,(如果沒有,自行創(chuàng)建一個)進入后點擊添加添加憑據 綁定gitee Api 令牌(令牌按獲取地址從自己的gitee上生成)

8、Jenkins 端配置Gitee API Token, 證書令牌選擇上一步配置的API令牌,測試鏈接成功則配置完成

9、配置Publish over SSH(用于不同服務器間發(fā)送文件)

查看公鑰/私鑰,.ssh 文件夾是用于存儲用戶的 SSH 配置和身份驗證信息的目錄進入/root/.ssh目錄,看看里面有沒有公鑰和私鑰,如沒有

# 創(chuàng)建ssh key

ssh-keygen -t rsa

# 一路回車

# 查看/root/.ssh/文件夾目錄

cd /root/.ssh/

# 查看ssh key 私鑰/公鑰

cat /root/.ssh/id_rsa

cat /root/.ssh/id_rsa_pub

添加映射關系,我使用的是本機映射,也可以添加其他服務器的映射

vim /etc/hosts

# 添加映射

ip 映射名

將另一個服務器的公鑰復制到/root/.ssh/authorized_keys文件中

vim /root/.ssh/authorized_keys

# 測試鏈接 首次需要輸入密碼,然后在/root/.ssh下生成known_hosts文件,后面測試鏈接不需要輸入密碼就成功鏈接則成功

ssh root@local-server

10、配置SSH Server

四、項目構建

1、在項目根目錄下創(chuàng)建test.Jenkinsfile 文件

jenkins管道文件

pipeline {

agent any

// 參數

environment {

jarDirect='/home/test'

jarName='test.jar'

projectName='test'

}

stages {

// 構建

stage('Build') {

steps {

// 運行maven打包指令

sh "mvn -Dmaven.test.failure.ignore=true clean package"

// To run Maven on a Windows agent, use

// bat "mvn -Dmaven.test.failure.ignore=true clean package"

}

}

// 推送jar包

stage('Jar Move') {

steps {

// 運行程序關閉腳本

sh '/home/test/run.sh stop'

// 刪除指定服務器指定目錄下程序

sh 'ssh local-server rm -rf ${jarDirect}/${jarName}'

// 推送程序到指定服務器指定目錄下

sh 'scp -r ${WORKSPACE}/test/target/${jarName} local-server:${jarDirect}/${jarName}'

}

}

// 啟動程序

stage('Deploy') {

steps {

// 啟動指定服務器下的程序

sh 'ssh local-server "cd ${jarDirect} && sh run.sh start"'

}

}

stage('Test') {

steps {

echo 'Testing'

}

}

}

// 推送消息

post {

success {

echo '部署成功'

}

failure {

echo '部署失敗'

}

}

}

程序啟動文件 run.sh

#!/bin/sh

# ./run.sh start 啟動 stop 停止 restart 重啟 status 狀態(tài)

AppName=test.jar

JavaHome=/usr/local/jdk1.8.0_411/bin

# JVM參數

JVM_OPTS="-Dname=$AppName -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"

APP_HOME=`pwd`

LOG_PATH=$APP_HOME/logs/$AppName.log

if [ "$1" = "" ];

then

echo -e "\033[0;31m 未輸入操作名 \033[0m \033[0;34m {start|stop|restart|status} \033[0m"

exit 1

fi

if [ "$AppName" = "" ];

then

echo -e "\033[0;31m 未輸入應用名 \033[0m"

exit 1

fi

function start()

{

PID=`ps -ef |grep $JavaHome/java|grep $AppName|grep -v grep|awk '{print $2}'`

if [ x"$PID" != x"" ]; then

echo "$AppName is running..."

else

nohup $JavaHome/java $JVM_OPTS -jar $AppName > logging.log 2>&1 &

echo "Start $AppName success..."

fi

}

function stop()

{

echo "Stop $AppName"

PID=""

query(){

PID=`ps -ef |grep $JavaHome/java|grep $AppName|grep -v grep|awk '{print $2}'`

}

query

if [ x"$PID" != x"" ]; then

kill -TERM $PID

echo "$AppName (pid:$PID) exiting..."

while [ x"$PID" != x"" ]

do

sleep 1

query

done

echo "$AppName exited."

else

echo "$AppName already stopped."

fi

}

function restart()

{

stop

sleep 2

start

}

function status()

{

PID=`ps -ef |grep $JavaHome/java|grep $AppName|grep -v grep|wc -l`

if [ $PID != 0 ];then

echo "$AppName is running..."

else

echo "$AppName is not running..."

fi

}

case $1 in

start)

start;;

stop)

stop;;

restart)

restart;;

status)

status;;

*)

esac

2、新建任務

3、配置

切換分支 配置流水線

4、開始構建

五、配置jenkins開機自啟

1、jenkins啟動腳本

#gedit /etc/init.d/myservice

#!/bin/bash

# chkconfig: 2345 10 90

# description: jenkins ....

JENKINS_HOME="/usr/local/jenkins"

JENKINS_WAR="/usr/local/jenkins/jenkins.war"

JENKINS_PORT=16060

JAVA_HOME="/java/jdk-11.0.5/bin"

AppName="jenkins.war"

# JVM參數

JVM_OPTS="-server -Xms1024m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m"

APP_HOME=`pwd`

LOG_PATH=$JENKINS_HOME/jenkins.log

if [ "$1" = "" ];

then

echo -e "\033[0;31m 未輸入操作名 \033[0m \033[0;34m {start|stop|restart|status} \033[0m"

exit 1

fi

if [ "$AppName" = "" ];

then

echo -e "\033[0;31m 未輸入應用名 \033[0m"

exit 1

fi

function start()

{

PID=`ps -ef |grep $JAVA_HOME/java|grep $AppName|grep -v grep|awk '{print $2}'`

if [ x"$PID" != x"" ]; then

echo "$AppName is running..."

else

nohup $JAVA_HOME/java $JVM_OPTS -jar $JENKINS_WAR --httpPort=$JENKINS_PORT > $LOG_PATH 2>&1 &

echo "Start $AppName success..."

fi

}

function stop()

{

echo "Stop $AppName"

PID=""

query(){

PID=`ps -ef |grep $JAVA_HOME/java|grep $AppName|grep -v grep|awk '{print $2}'`

}

query

if [ x"$PID" != x"" ]; then

kill -TERM $PID

echo "$AppName (pid:$PID) exiting..."

while [ x"$PID" != x"" ]

do

sleep 1

query

done

echo "$AppName exited."

else

echo "$AppName already stopped."

fi

}

function restart()

{

stop

sleep 2

start

}

function status()

{

PID=`ps -ef |grep $JAVA_HOME/java|grep $AppName|grep -v grep|wc -l`

if [ $PID != 0 ];then

echo "$AppName is running..."

else

echo "$AppName is not running..."

fi

}

case $1 in

start)

start;;

stop)

stop;;

restart)

restart;;

status)

status;;

*)

esac

2、有三種方式

systemd 設置開機自啟

# 創(chuàng)建systemd文件,輸入以下配置

vim /etc/systemd/system/jenkins.service

# 更新配置后需要刷新

systemctl daemon-reload

# 查看打印詳細日志

journalctl -u jenkins.service -xe

[Unit]

Description=Nexus Service

After=network.target

[Service]

User=root

Type=forking

TimeoutStopSec=20

Restart=always

RestartSec=5s

ExecStart=/usr/local/jenkins/jenkins_start.sh start

ExecStop=/usr/local/jenkins/jenkins_start.sh stop

[Install]

WantedBy=multi-user.target

刷新配置后設置開機自啟

# 開機自啟

systemctl enable jenkins.service

# 關閉開機自啟

systemctl disable jenkins.service

# 查看開機自啟的服務

systemctl list-unit-files --type=service --state=enabled | grep enabled

# 啟動服務

systemctl start jenkins.service

# 關閉服務

systemctl stop jenkins.service

# 查看狀態(tài)

systemctl status jenkins.service

定時任務設置開機自啟

# 打開定時任務編輯

crontab -e

# 添加啟動腳本

@reboot /usr/local/jenkins/jenkins_start.sh start

# 重啟系統(tǒng)就會發(fā)現jenkins已經可以開機自啟了

使用chkconfig自啟動

# 查看自啟動服務

chkconfig --list

# 創(chuàng)建啟動腳本,啟動腳本使用上面提供的

vim /etc/init.d/jenkins_start.sh

# 對腳本進行賦權

chmod +x /etc/init.d/jenkins_start.sh

# 將腳本添加進清單

chkconfig --add jenkins_start.sh

# 添加完畢后查看清單

chkconfig --list

# 至此,完成了Jenkins隨操作系統(tǒng)啟動自啟服務的操作,

# 也可以使用service jenkins_start.sh start/stop/restart命令來重啟服務。

# 我完成后重啟系統(tǒng)后未能自啟動,但可以使用指令來啟動服務

柚子快報激活碼778899分享:運維 jenkins搭建與部署

http://yzkb.51969.com/

好文閱讀

評論可見,查看隱藏內容

本文內容根據網絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉載請注明,如有侵權,聯系刪除。

本文鏈接:http://m.gantiao.com.cn/post/18918978.html

發(fā)布評論

您暫未設置收款碼

請在主題配置——文章設置里上傳

掃描二維碼手機訪問

文章目錄