メインコンテンツにスキップ

gradleとリモート サーバーとのやり事例をルート化します – クライアントはログ、接続ダイアログなど

使用方法

vi ~/.ssh/config

# 環境
Host xxx.dev.iuin
  HostName 1.0.1.1
  User root
  Port 2222
  IdentityFile ~/.ssh/id_ed25519_iu

ssh-copy-id -i ~/.ssh/id_ed25519_iu xxx.dev.iuin

gradleを結合する

  • プロジェクトのルートディレクトリにある Build.gradleファイル
// 项目根目录下的build.gradle文件中添加以下内容
plugins {
    id 'io.github.iuin8.remote' version '0.1.36'
}

group = 'com.xxx.xxx'
version = '3.0.0'
  • ルート ディレクトリのパスの settings.gradleファイルに、以下のコンテンツを追加します。
// 项目根目录下的settings.gradle文件中添加以下内容
//gradle插件仓库
pluginManagement {
    repositories {
        //本地
        mavenLocal()
        //私服
        maven {
            url 'http://10.11.11.11:1111/repository/maven-public/'
            allowInsecureProtocol = true
        }
        //国内镜像
        maven {
            url 'https://maven.aliyun.com/repository/public'
        }
        //gradle官方门户
        gradlePluginPortal()
        //备用
        mavenCentral()
    }
}

  • 構成ファイル: <プロジェクトのルート>/remote-plugin/remote.yml
# 設定ファイル: {プロジェクトルートディレクトリ}/remote-plugin/remote.yml
# Remote plugin configuration example
# Supported placeholders:
#   - ${service}            : current Gradle project name
#   - ${REMOTE_BASE_DIR}    : value of remote.base.dir
#   - ${remote.base.dir}    : same as above

# Environment configurations
# Each environment can have its own settings
environments:
  # Development environment configuration (from gradle-dev.properties)
  dev:
    remote:
      server: xxx.dev.iuin
      base:
        dir: /data/xxx
  # その他の環境。例:テスト環境、本番環境など
  test:
    remote:
      server: xxx.test.iuin
      base:
        dir: /data/xxx

# Service ports configuration (previously in service-ports.json)
service:
  ports:
    order-service: 1111
  start:
    command: $REMOTE_BASE_DIR/$SERVICE_NAME/$SERVICE_NAME-start.sh
    # command: sudo systemctl restart $SERVICE_NAME
  env:
    JAVA_TOOL_OPTIONS: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:3$SERVICE_PORT

# Configure log file pattern for logTask (logTo<Profile>)
# Default resolves to: ${REMOTE_BASE_DIR}/../logs/${service}.log
log:
  filePattern: ${REMOTE_BASE_DIR}/../logs/${service}.log

  • サンプルを公開
# bash ./gradlew :order-service:publish\(dev\) --info
bash ./gradlew :order-service:publish\(dev\)
# コマンドを実行します。

gradle task例

指定された sql, Redis, esコマンドをターゲット