Skip to content

Commit 8ccc697

Browse files
authored
Merge pull request #21 from internxt/feat/cd
[_]: feat/continuous-delivery-worflow
2 parents 5608b8f + ef40a34 commit 8ccc697

4 files changed

Lines changed: 142 additions & 0 deletions

File tree

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Build & Deploy to Production
2+
on:
3+
push:
4+
branches: ['master', 'feat/cd']
5+
jobs:
6+
build:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- name: Check Out Repo
10+
uses: actions/checkout@v5
11+
- name: Login to DockerHub
12+
uses: docker/login-action@v3
13+
with:
14+
username: ${{ secrets.DOCKERHUB_USERNAME }}
15+
password: ${{ secrets.DOCKERHUB_TOKEN }}
16+
- name: Set up Docker Buildx
17+
uses: docker/setup-buildx-action@v3
18+
- name: Build and push to the Docker Remote Repository
19+
uses: docker/build-push-action@v6
20+
with:
21+
context: ./
22+
file: ./Dockerfile
23+
push: true
24+
tags: ${{ secrets.DOCKERHUB_USERNAME }}/meet-server:${{ github.sha }}
25+
26+
deploy:
27+
needs: build
28+
runs-on: ubuntu-latest
29+
environment:
30+
name: production
31+
steps:
32+
- uses: actions/checkout@v5
33+
34+
- name: Deploy update on the Kubernetes cluster
35+
uses: steebchen/kubectl@v2.0.0
36+
with:
37+
config: ${{ secrets.KUBE_CONFIG_DATA }}
38+
command: set image --record deployment/meet-server-dp meet-server=${{ secrets.DOCKERHUB_USERNAME }}/meet-server:${{ github.sha }}
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# For most projects, this workflow file will not need changing; you simply need
2+
# to commit it to your repository.
3+
#
4+
# You may wish to alter this file to override the set of languages analyzed,
5+
# or to provide custom queries or build logic.
6+
#
7+
# ******** NOTE ********
8+
# We have attempted to detect the languages in your repository. Please check
9+
# the `language` matrix defined below to confirm you have the correct set of
10+
# supported CodeQL languages.
11+
#
12+
name: "CodeQL"
13+
14+
on:
15+
push:
16+
branches: [ "master", "develop" ]
17+
pull_request:
18+
# The branches below must be a subset of the branches above
19+
branches: [ "master", "develop" ]
20+
schedule:
21+
- cron: '20 2 * * 0'
22+
23+
jobs:
24+
analyze:
25+
name: Analyze
26+
runs-on: ubuntu-latest
27+
permissions:
28+
actions: read
29+
contents: read
30+
security-events: write
31+
32+
strategy:
33+
fail-fast: false
34+
matrix:
35+
language: [ 'javascript' ]
36+
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
37+
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
38+
39+
steps:
40+
- name: Checkout repository
41+
uses: actions/checkout@v3
42+
43+
# Initializes the CodeQL tools for scanning.
44+
- name: Initialize CodeQL
45+
uses: github/codeql-action/init@v2
46+
with:
47+
languages: ${{ matrix.language }}
48+
# If you wish to specify custom queries, you can do so here or in a config file.
49+
# By default, queries listed here will override any specified in a config file.
50+
# Prefix the list here with "+" to use these queries and those in the config file.
51+
52+
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
53+
# queries: security-extended,security-and-quality
54+
55+
56+
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
57+
# If this step fails, then you should remove it and run the build manually (see below)
58+
- name: Autobuild
59+
uses: github/codeql-action/autobuild@v2
60+
61+
# ℹ️ Command-line programs to run using the OS shell.
62+
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
63+
64+
# If the Autobuild fails above, remove it and uncomment the following three lines.
65+
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
66+
67+
# - run: |
68+
# echo "Run, Build Application using script"
69+
# ./location_of_script_within_repo/buildscript.sh
70+
71+
- name: Perform CodeQL Analysis
72+
uses: github/codeql-action/analyze@v2

.github/workflows/pre-build.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Pre build ( Health check )
2+
on:
3+
push:
4+
branches:
5+
- 'master'
6+
pull_request:
7+
branches:
8+
- 'master'
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Check Out Repo
14+
uses: actions/checkout@v2
15+
- name: Install dependencies
16+
run: yarn install
17+
- name: Build
18+
run: yarn build

Dockerfile

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
FROM node:22.17.0
2+
LABEL author="internxt"
3+
4+
WORKDIR /usr/app
5+
6+
COPY package.json ./
7+
COPY yarn.lock ./
8+
9+
RUN yarn
10+
COPY . ./
11+
12+
RUN yarn build
13+
14+
CMD yarn start:prod

0 commit comments

Comments
 (0)