Switch to Github Action

This commit is contained in:
Sebastien 2020-04-12 17:20:46 +02:00
parent 56a49f1357
commit da6756c829
4 changed files with 62 additions and 84 deletions

54
.github/workflows/build.yml vendored Normal file
View File

@ -0,0 +1,54 @@
# This workflow will build a Java project with Gradle
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
name: Build and Upload to DockerHub
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build-gradle:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build with Gradle
run: ./gradlew build
- name: Upload Jar File
uses: actions/upload-artifact@v2-preview
with:
name: claptrap_jar
path: build/libs/
build-docker:
runs-on: [ubuntu-latest]
needs: [build-gradle]
steps:
- uses: actions/checkout@v2
- name: Get build number
id: get_version
run: echo ::set-env name=RELEASE_VERSION::$(echo ${GITHUB_RUN_NUMBER})
- name: Download artifact
uses: actions/download-artifact@v1.0.0
with:
# Artifact name
name: claptrap_jar
# Destination path
path: build/libs/
- name: Publish Docker
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: brokenfire/brokendiscordbot
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
tags: "latest,${{ env.RELEASE_VERSION }}"
buildargs: GITHUB_RUN_NUMBER=${{env.RELEASE_VERSION}}

View File

@ -1,13 +1,11 @@
FROM debian:latest
RUN apt-get update
RUN apt-get -y upgrade
RUN apt-get -y install openjdk-8-jre openjdk-8-jdk curl wget
FROM openjdk:8-jre-buster
WORKDIR /bot_src
ARG BUILD_NBR
ARG BRANCH_NAME
ADD DownloadLast.sh /bot_src/
RUN chmod +x DownloadLast.sh
RUN ./DownloadLast.sh ${BRANCH_NAME} ${BUILD_NBR}
ARG BRANCH_NAME
ARG GITHUB_RUN_NUMBER
ADD build/libs/ClaptrapBot-*.jar /bot_src/bot.jar
RUN java -version
ENV PORT=8080
ENV TOKEN=10
CMD java -jar bot.jar -t ${TOKEN}

74
Jenkinsfile vendored
View File

@ -1,74 +0,0 @@
pipeline {
agent any
stages {
stage('Clone') { // for display purposes
// Get some code from a GitHub repository
steps {
echo env.BRANCH_NAME
script {
if (env.BRANCH_NAME == 'master') {
git url: 'https://github.com/BrokenFire/BrokenDiscordBot.git', branch: 'master'
} else {
git url: 'https://github.com/BrokenFire/BrokenDiscordBot.git', branch: 'devel'
}
}
}
}
stage('Gradle Build'){
steps{
script {
if (env.BRANCH_NAME == 'master') {
build job: 'Bot Discord Gradle', wait: true
} else {
build job: 'Bot Discord Gradle devel', wait: true
}
}
}
}
stage('Build Docker image') {
/* This builds the actual image; synonymous to
* docker build on the command line */
steps{
script{
app = docker.build("brokenfire/brokendiscordbot",'--build-arg BUILD_NBR=${BUILD_NUMBER} --build-arg BRANCH_NAME=${BRANCH_NAME} --rm=true .')
}
}
}
stage('Push Docker image') {
/* Finally, we'll push the image with two tags:
* First, the incremental build number from Jenkins
* Second, the 'latest' tag.
* Pushing multiple tags is cheap, as all the layers are reused. */
steps{
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'docker-hub-credentials', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']]) {
sh 'docker login -u $USERNAME -p $PASSWORD'
script {
if (env.BRANCH_NAME == 'master') {
app.push("master")
} else {
app.push("devel")
}
}
}
}
}
stage('Cleaning'){
steps{
sh "docker image prune -f"
}
}
}
}

View File

@ -9,7 +9,7 @@ plugins {
def versionObj = new Version(major: 0, minor: 2, revision: 0)
group = "net.broken"
archivesBaseName = "BrokenDiscordBot"
archivesBaseName = "ClaptrapBot"
version = "$versionObj"
sourceCompatibility = 1.8
@ -23,7 +23,7 @@ jar.doFirst {
jar {
// delete "${buildDir}/libs/*"
baseName = 'DiscordBot'
// baseName = 'DiscordBot'
}
@ -80,7 +80,7 @@ class Version {
String major, minor, revision
static String getBuild() {
System.getenv("BUILD_NUMBER") ?: System.getProperty("BUILD_NUMBER") ?:
System.getenv("GITHUB_RUN_NUMBER") ?: System.getProperty("BUILD_NUMBER") ?:
System.getenv("GIT_COMMIT")?.substring(0, 7) ?: System.getProperty("GIT_COMMIT")?.substring(0, 7) ?:"DEV"
}