Syncd 部署Java应用

目录

准备服务

1Syncd服务器免密登录 GitLab

2 SSH 免密登录部署服务器

3.新建服务器集群和服务器

4 维护项目信息

5.提交发布申请, 管理发布事件单

 


准备服务

注意运行Java 需要安装Java环境和 maven

1Syncd服务器免密登录 GitHub/GitLab

注意邮箱名称和用户地址不可少

$ git config --global user.name “your_username”  #设置用户名
$ git config --global user.email “your_registered_github_Email”  #设置邮箱地

方案1 是直接吧用户密码存储下来, 之后就免密了

      输入 git config --global credential.helper store  命令, 使用 Store 模式将凭证存储在磁盘

      然后操作pull/push 会让输入用户名密码,第一次输入进去。下次再操作pull/push时就不需要输入用户名密码了。

 

方案2 使用SSH, gitHub可以, 但是GitLab 要知道 服务器的用户名和域名

切换syncd的用户, 在服务器执行ssh-keygen , 连续三次回车

[syncd@VM_121_116_centos .ssh]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/syncd/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/syncd/.ssh/id_rsa.
Your public key has been saved in /home/syncd/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:fLvONE5cJvkxA95kyJxygAxXWnwr9GO1zAkZTlhWLnc syncd@VM_121_116_centos
The key's randomart image is:
+---[RSA 2048]----+
|    .o.++o=+.    |
|     .oo+B++.    |
|      ...oX*=oE  |
|       ..+=O=.   |
|        So=.B    |
|         o * +   |
|          * .    |
|         = o     |
|         .=      |
+----[SHA256]-----+
[syncd@VM_121_116_centos .ssh]$ ll
total 12
-rw------- 1 syncd syncd 1675 Apr 10 15:06 id_rsa
-rw-r--r-- 1 syncd syncd  405 Apr 10 15:06 id_rsa.pub
-rw-r--r-- 1 syncd syncd  346 Apr 10 14:21 known_hosts
查看 ~/shh 目录下的 id_rsa.pub

复制红框的内容, 到 gtiHub/gitLab 的账户设置 

添加SHH key

 

接下来需要我们 SSH 链接 gitLab 服务器 ssh -T  服务器用户名@服务域名

下面是gitHub的, gitLab具体内容要看部署gitlab 的部署者

ssh -T git@github.com

提示  You've successfully authenticated 就成功了

 

2 SSH 免密登录部署服务器

syncd 不会存储服务器的密码,都是通过 公钥免密登录实现的. 

我们部署服务器已经有了公钥, 这个时候需要执行

ssh-copy-id -i ~/.ssh/id_rsa.pub appl@118.23.121.117 -p 22522

把公钥添加到 访问主机用户下面授权文件中, 详情见: https://blog.csdn.net/qq_21047625/article/details/89183781

3.新建服务器集群和服务器

集群管理--> 新增集群

填写集群名称

服务器管理--> 新泽服务器

填写服务器信息

4 维护项目信息

新增项目空间

 项目管理新增项目

填写项目信息--基本

框内用于填写部署 jar 的命令, 编写一个启动脚本, 可以参考下面的

 

在服务器新建脚本 并且在部署后执行 脚本如下

deploy.sh

#!/bin/bash
#这里可替换为你自己的执行程序,其他代码无需更改
APP_NAME=demo-0.0.1-SNAPSHOT.jar

#使用说明,用来提示输入参数
usage() {
    echo "Usage: sh 执行脚本.sh [start|stop|restart|status]"
    exit 1
}

#检查程序是否在运行
is_exist(){
  pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
  #如果不存在返回1,存在返回0     
  if [ -z "${pid}" ]; then
   return 1
  else
    return 0
  fi
}

#启动方法
start(){
  is_exist
  if [ $? -eq "0" ]; then
    echo "${APP_NAME} is already running. pid=${pid} ."
  else
    nohup java -jar $APP_NAME > /dev/null 2>&1 &
  fi
}

#停止方法
stop(){
  is_exist
  if [ $? -eq "0" ]; then
    kill -9 $pid
  else
    echo "${APP_NAME} is not running"
  fi  
}

#输出运行状态
status(){
  is_exist
  if [ $? -eq "0" ]; then
    echo "${APP_NAME} is running. Pid is ${pid}"
  else
    echo "${APP_NAME} is NOT running."
  fi
}

#重启
restart(){
  stop
  start
}

#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
  "start")
    start
    ;;
  "stop")
    stop
    ;;
  "status")
    status
    ;;
  "restart")
    restart
    ;;
  *)
    usage
    ;;
esac

填写构建脚本

本项目执行如下:   ${env_workspace} 是 git代码仓库的根目录, ${env_pack_file} 是打包文件的路径, 这个路径syncd 会自动设定, 一般在/tmp/syncd_data下面

cd ${env_workspace}
mvn clean package
cd target
tar -zcvf ${env_pack_file}  *.jar 

5.提交发布申请, 管理发布事件单

新建发布申请

填写上线清单

填写完毕后审核通过, 进行编译和部署

如果项目维护和需要审核就审核后点击上线

 

分别进行构建和部署

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值