mirror of
https://github.com/InsanusMokrassar/TelegramBotTutorial.git
synced 2025-10-22 07:00:17 +00:00
add runner sample
This commit is contained in:
8
runner/Dockerfile
Normal file
8
runner/Dockerfile
Normal file
@@ -0,0 +1,8 @@
|
||||
FROM adoptopenjdk/openjdk11
|
||||
|
||||
USER 1000
|
||||
|
||||
ENTRYPOINT ["/runner/bin/runner", "/runner/local.config.json"]
|
||||
|
||||
ADD ./build/distributions/runner.tar /
|
||||
ADD ./local.config.json /runner/
|
30
runner/build.gradle
Normal file
30
runner/build.gradle
Normal file
@@ -0,0 +1,30 @@
|
||||
buildscript {
|
||||
repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath libs.kotlin.gradle.plugin
|
||||
classpath libs.kotlin.serialization.plugin
|
||||
}
|
||||
}
|
||||
|
||||
plugins {
|
||||
alias libs.plugins.kotlin.jvm
|
||||
alias libs.plugins.kotlin.serialization
|
||||
id 'application'
|
||||
}
|
||||
|
||||
application.mainClassName = 'dev.inmo.plagubot.AppKt'
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
mavenLocal()
|
||||
maven { url "https://git.inmo.dev/api/packages/InsanusMokrassar/maven" }
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation libs.kotlin
|
||||
api libs.plagubot.plugin
|
||||
api libs.kslog
|
||||
}
|
15
runner/config.json
Normal file
15
runner/config.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"botToken": "1234567890:ABCDEFGHIJKLMNOP_qrstuvwxyz12345678",
|
||||
"plugins": [
|
||||
"dev.inmo.plagubot.plugins.commands.CommandsPlugin",
|
||||
|
||||
"IntroductionPlugin",
|
||||
"WelcomePlugin"
|
||||
],
|
||||
"introduction": {
|
||||
"onStartCommandMessage": "Hello World"
|
||||
},
|
||||
"database": {
|
||||
"url": "jdbc:sqlite:file:/data/local.db"
|
||||
}
|
||||
}
|
25
runner/deploy
Normal file
25
runner/deploy
Normal file
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
function send_notification() {
|
||||
echo "$1"
|
||||
}
|
||||
|
||||
function assert_success() {
|
||||
"${@}"
|
||||
local status=${?}
|
||||
if [ ${status} -ne 0 ]; then
|
||||
send_notification "### Error ${status} at: ${BASH_LINENO[*]} ###"
|
||||
exit ${status}
|
||||
fi
|
||||
}
|
||||
|
||||
app=runner
|
||||
version=0.0.0
|
||||
server="$USER"
|
||||
|
||||
assert_success ../gradlew build
|
||||
assert_success sudo docker build -t $app:"$version" .
|
||||
assert_success sudo docker tag $app:"$version" $server/$app:$version
|
||||
assert_success sudo docker tag $app:"$version" $server/$app:latest
|
||||
assert_success sudo docker push $server/$app:$version
|
||||
assert_success sudo docker push $server/$app:latest
|
10
runner/docker-compose.yml
Normal file
10
runner/docker-compose.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
version: "3.4"
|
||||
|
||||
services:
|
||||
adminbot:
|
||||
image: user/runner
|
||||
container_name: runner
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- "./data/:/data/"
|
||||
- "./config.json:/config.json:ro"
|
25
runner/nonsudo_deploy
Normal file
25
runner/nonsudo_deploy
Normal file
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
function send_notification() {
|
||||
echo "$1"
|
||||
}
|
||||
|
||||
function assert_success() {
|
||||
"${@}"
|
||||
local status=${?}
|
||||
if [ ${status} -ne 0 ]; then
|
||||
send_notification "### Error ${status} at: ${BASH_LINENO[*]} ###"
|
||||
exit ${status}
|
||||
fi
|
||||
}
|
||||
|
||||
app=runner
|
||||
version=0.0.0
|
||||
server="$USER"
|
||||
|
||||
assert_success ../gradlew build
|
||||
assert_success docker build -t $app:"$version" .
|
||||
assert_success docker tag $app:"$version" $server/$app:$version
|
||||
assert_success docker tag $app:"$version" $server/$app:latest
|
||||
assert_success docker push $server/$app:$version
|
||||
assert_success docker push $server/$app:latest
|
Reference in New Issue
Block a user