# gradle-deploy-plugin
**Repository Path**: jiangyun/gradle-deploy-plugin
## Basic Information
- **Project Name**: gradle-deploy-plugin
- **Description**: gradle ssh插件
- **Primary Language**: Kotlin
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-05-16
- **Last Updated**: 2024-09-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Gradle部署插件
## 介绍
支持远程服务器java应用部署、本地docker应用部署、k8s部署插件
## 软件架构
1. kotlin;
2. jsch;
3. gradle;
## 发布插件
```bash
./gradlew publishPlugins
# 如果已经安装gradle7+
gradle publishPlugins
```
## 使用
#### groovy
Using the plugins DSL:
```groovy
plugins {
id("io.github.jyrmc.deploy") version "0.0.6"
}
```
Using legacy plugin application:
```groovy
buildscript {
repositories {
maven {
url = uri("https://plugins.gradle.org/m2/")
}
}
dependencies {
classpath("io.github.jyrmc.deploy:gradle-deploy-plugin:0.0.6")
}
}
```
#### kotlin
Using the plugins DSL:
```groovy
plugins {
id("io.github.jyrmc.deploy") version "0.0.6"
}
```
Using legacy plugin application:
```groovy
buildscript {
repositories {
maven {
url = uri("https://plugins.gradle.org/m2/")
}
}
dependencies {
classpath("io.github.jyrmc.deploy:gradle-deploy-plugin:0.0.6")
}
}
apply(plugin = "io.github.jyrmc.deploy")
configure {
val tmpImageName = if (EnvProperties.use_code_encryption) { // Default: false
DockerEnvProperties.image_virbox_prex + "-" + project.name
} else {
project.name
}
host.set(Kubernetes.HOST)
port.set(Kubernetes.PORT)
username.set(Kubernetes.USERNAME)
password.set(Kubernetes.PASSWORD)
commandLine.set("")
// imagePrefix.set(DockerEnvProperties.image_prefix) // 部署本地docker使用的镜像前缀,原因:k8s使用的镜像前缀为域名,无法与现有的docker镜像前缀混合使用
imagePrefix.set(Kubernetes.DEPOLOY_IMAGE_PREFIX) // 部署k8s使用的镜像前缀
imageName.set(tmpImageName)
if (DockerEnvProperties.allow_build_version_with_time) {
imageVersion.set("${project.version}-${jenkinsBuildTime}")
} else {
imageVersion.set("${project.version}")
}
deploymentName.set("${Kubernetes.DEPLOYMENT_RELEASE_NAME}-${project.name}")
namespace.set(Kubernetes.NAMESPACE)
dependsTaskName.set("buildRelease")
}
configure {
host.set(TestEnvDeployArgs.HOST)
port.set(TestEnvDeployArgs.PORT)
username.set(TestEnvDeployArgs.USERNAME)
password.set(TestEnvDeployArgs.PASSWORD)
localJarPath.set("${projectDir}/build/libs/${project.name}-${project.version}.jar")
deployPath.set("/home/resole/${project.name}")
dependsTaskName.set("bootJar")
args.set(
listOf(
"java.security.egd=file:/dev/./urandom",
"spring.profiles.active=dev"
)
)
}
```