远程交互插件(idea使用gradle与远程服务器间的交互--发布服务,查看日志,连接arthas等)
vi ~/.ssh/config
# 开发环境Host xxx.dev.iuin HostName 1.0.1.1 User root Port 2222 IdentityFile ~/.ssh/id_ed25519_iussh-copy-id -i ~/.ssh/id_ed25519_iu xxx.dev.iuin结合gradle使用
Section titled “结合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 settingsenvironments: # 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}.loglog: filePattern: ${REMOTE_BASE_DIR}/../logs/${service}.log- 发布服务示例
# bash ./gradlew :order-service:publish\(dev\) --infobash ./gradlew :order-service:publish\(dev\)# 执行这个命令, 或者直接在idea中双击这个gradle任务, 都可以发布服务到远程服务器