Skip to content

Commit

Permalink
add readme and GitHub action files
Browse files Browse the repository at this point in the history
  • Loading branch information
imchairmanm committed Jan 24, 2024
1 parent ca988ee commit c9d44f4
Show file tree
Hide file tree
Showing 4 changed files with 142 additions and 0 deletions.
28 changes: 28 additions & 0 deletions .github/workflows/autocommit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Keep Repository Active

on:
schedule:
- cron: '0 0 */28 * *'

jobs:
create-empty-commit:
runs-on: ubuntu-latest

permissions:
contents: write

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: main

- name: Configure Git
run: |
git config user.name 'Automatic action'
git config user.email '[email protected]'
- name: Create an empty commit and push
run: |
git commit --allow-empty -m "Automated empty commit to keep repo active" -m "This commit is generated automatically every few weeks to prevent GitHub Actions from being disabled due to inactivity."
git push origin main
20 changes: 20 additions & 0 deletions .github/workflows/cleanup.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Cleanup Koyeb application

on:
delete:
branches:
- '*'

jobs:
cleanup:
runs-on: ubuntu-latest
steps:
- name: Install and configure the Koyeb CLI
uses: koyeb-community/install-koyeb-cli@v2
with:
api_token: "${{ secrets.KOYEB_EXAMPLES_APPS_TOKEN }}"

- name: Cleanup Koyeb application
uses: koyeb/action-git-deploy/cleanup@v1
with:
app-name: spring-boot-${{ github.event.ref }}
28 changes: 28 additions & 0 deletions .github/workflows/deploy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Build and deploy the application to Koyeb

on:
schedule:
- cron: '55 8 * * *'
push:
branches:
- '*'

jobs:
deploy:
concurrency:
group: "${{ github.ref_name }}"
cancel-in-progress: true
runs-on: ubuntu-latest
steps:
- name: Install and configure the Koyeb CLI
uses: koyeb-community/install-koyeb-cli@v2
with:
api_token: "${{ secrets.KOYEB_EXAMPLES_APPS_TOKEN }}"

- name: Build and deploy the application
uses: koyeb/action-git-deploy@v1
with:
app-name: spring-boot-${{ github.ref_name }}
service-ports: "8000:http"
service-routes: "/:8000"
skip-cache: true
66 changes: 66 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
[![example-spring-boot](https://github.com/koyeb/example-spring-boot/actions/workflows/deploy.yaml/badge.svg)](https://github.com/koyeb/example-spring-boot/actions)

<div align="center">
<a href="https://koyeb.com">
<img src="https://www.koyeb.com/static/images/icons/koyeb.svg" alt="Logo" width="80" height="80">
</a>
<h3 align="center">Koyeb Serverless Platform</h3>
<p align="center">
Deploy a Spring Boot application on Koyeb
<br />
<a href="https://koyeb.com">Learn more about Koyeb</a>
·
<a href="https://koyeb.com/docs">Explore the documentation</a>
·
<a href="https://koyeb.com/tutorials">Discover our tutorials</a>
</p>
</div>


## About Koyeb and the Spring Boot example application

Koyeb is a developer-friendly serverless platform to deploy apps globally. No-ops, servers, or infrastructure management. This repository contains a Spring Boot application you can deploy on the Koyeb serverless platform for testing.

This example application is designed to show how a Spring Boot application can be deployed on Koyeb. You can follow the associated [deploy guide](https://koyeb.com/docs/deploy/spring-boot) to learn more about the application and how to extend it.

## Getting Started

Follow the steps below to deploy and run the Spring Boot application on your Koyeb account.

### Requirements

You need a Koyeb account to successfully deploy and run this application. If you don't already have an account, you can sign-up for free [here](https://app.koyeb.com/auth/signup).

### Deploy using the Koyeb button

The fastest way to deploy the Spring Boot application is to click the **Deploy to Koyeb** button below.

[![Deploy to Koyeb](https://www.koyeb.com/static/images/deploy/button.svg)](https://app.koyeb.com/deploy?name=example-spring-boot&type=git&repository=koyeb%2Fexample-spring-boot&branch=main&ports=8000%3Bhttp%3B%2F)

Clicking on this button brings you to the Koyeb App creation page with everything pre-set to launch this application.

_To modify this application example, you will need to fork this repository. Checkout the [fork and deploy](#fork-and-deploy-to-koyeb) instructions._

## Fork and deploy to Koyeb

If you want to customize and enhance this application, you need to fork this repository.

If you used the **Deploy to Koyeb** button, you can simply link your service to your forked repository to be able to push changes. Alternatively, you can manually create the application as described below.

On the [Koyeb Control Panel](//app.koyeb.com/apps), click the **Create App** button to go to the App creation page.

1. Select `GitHub` as the deployment method to use.
2. In the repositories list, select the repository you just forked.
3. Specify the branch to deploy, in this case `main`.
4. Choose the builder for the repository. This repository can be built using buildpacks or a Dockerfile.
5. Give your App a name, i.e `spring-boot-on-koyeb`, and click **Deploy**.

You will be taken to the deployment page where you can follow the build of your Spring Boot application. Once the build is completed, your application will be deployed and you will be able to access it via `<YOUR_APP_NAME>-<YOUR_ORG_NAME>.koyeb.app`.

## Contributing

If you have any questions, ideas or suggestions regarding this application sample, feel free to open an [issue](https://github.com/koyeb/example-spring-boot/issues) or fork this repository and open a [pull request](https://github.com/koyeb/example-spring-boot/pulls).

## Contact

[Koyeb](https://www.koyeb.com) - [@gokoyeb](https://twitter.com/gokoyeb) - [Slack](http://slack.koyeb.com/)

0 comments on commit c9d44f4

Please sign in to comment.