feat: add ci cd files do not edit those files

This commit is contained in:
mahyargdz
2024-10-20 15:59:21 +03:30
parent 44c0c22226
commit 0a50b08e17
6 changed files with 98 additions and 103 deletions
+48
View File
@@ -0,0 +1,48 @@
name: deploy to danak
on:
push:
branches:
- main
jobs:
build_and_deploy:
runs-on: ubuntu-latest
env:
DANAK_SERVER: "https://captain.run.danakcorp.com"
APP_TOKEN: 03786e2259b28db4b190733ab5e01505edf290820c69fa98d9b6961cbc79283b
CAPROVER_APP_NAME: asan-service
GITHUB_TOKEN: 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
steps:
- name: Check out repositorys
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: zmihamid
password: ${{ env.GITHUB_TOKEN }}
- name: Preset Image Name
run: echo "IMAGE_URL=$(echo ghcr.io/zmihamid/${{ github.event.repository.name }}:$(echo ${{ github.sha }} | cut -c1-7) | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV
- name: Build and push Docker Image
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
push: true
tags: ${{ env.IMAGE_URL }}
- name: Install CapRover CLI
run: npm install -g caprover
- name: deploy to server
run: |
caprover deploy -a $CAPROVER_APP_NAME -u $DANAK_SERVER --appToken $APP_TOKEN -i "$IMAGE_URL"
-87
View File
@@ -1,87 +0,0 @@
name: CD-Liara
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
env:
DISCORD_WEBHOOK_URL: 'https://discord.com/api/webhooks/1269741326543487006/NVr2BlA8FTrIfIybH6FqWkb4SAFqy5R7HRFs75HfI7gEegvkuuPZhHToimOC5mOtOeLG'
LIARA_TOKEN: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySUQiOiI2NGVkY2ZmYWJiODUyOWZmNWFmOTU3YmEiLCJpYXQiOjE3MjkwOTQxODR9.PSFIR9J5SbOJeaB0pFH7BhQdrxVn6tsaD6kyLJn-yIU
APP_NAME: asanservice
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: "18"
- name: Set up environment
run: |
echo "COMMIT_MESSAGE=$(echo '${{ github.event.head_commit.message }}' | jq -aRs .)" >> $GITHUB_ENV
- name: update-liara
run: |
npm i -g @liara/cli@6
liara deploy --app="$APP_NAME" --api-token="$LIARA_TOKEN" --no-app-logs
- name: Deploy Stage
if: success()
uses: fjogeleit/http-request-action@v1
with:
url: ${{ env.DISCORD_WEBHOOK_URL }}
method: 'POST'
customHeaders: '{"Content-Type": "application/json"}'
data: '{
"content": "Github push ${{ github.repository }} / ${{ github.event.head_commit.timestamp }} / ${{github.event.head_commit.author.name}}",
"embeds": [
{
"title": "${{ github.repository }}",
"description": "Success deploy",
"url": "http://github.com/${{ github.repository }}",
"color": 32768,
"fields": [
{
"name": "${{github.event.head_commit.author.name}}",
"value": ${{ env.COMMIT_MESSAGE }}
}
],
"author": {
"name": "${{ github.actor }}"
},
"timestamp": "${{ github.event.head_commit.timestamp }}"
}
],
"username": "${{github.event.head_commit.author.name}}",
"attachments": []
}'
- name: Deploy Stage
if: failure()
uses: fjogeleit/http-request-action@v1
with:
url: ${{ env.DISCORD_WEBHOOK_URL }}
method: 'POST'
customHeaders: '{"Content-Type": "application/json"}'
data: '{
"content": " Failed to deploy ${{ github.repository }} / ${{ github.event.head_commit.timestamp }} / ${{github.event.head_commit.author.name}}",
"embeds": [
{
"title": "${{ github.repository }}",
"description": "Failed to deploy",
"url": "http://github.com/${{ github.repository }}",
"color": 16711680,
"fields": [
{
"name": "${{github.event.head_commit.author.name}}",
"value": ${{ env.COMMIT_MESSAGE }}
}
],
"author": {
"name": "${{ github.actor }}"
},
"timestamp": "${{ github.event.head_commit.timestamp }}"
}
],
"username": "${{github.event.head_commit.author.name}}",
"attachments": []
}'
+47
View File
@@ -0,0 +1,47 @@
FROM node:20-alpine AS base
RUN apk add --no-cache tzdata
# Set the timezone to Asia/Tehran
RUN cp /usr/share/zoneinfo/Asia/Tehran /etc/localtime && echo "Asia/Tehran" > /etc/timezone
FROM base AS deps
WORKDIR /temp-deps
COPY package*.json ./
RUN npm install
FROM base AS builder
WORKDIR /build
COPY . ./
COPY --from=deps /temp-deps/node_modules ./node_modules
RUN npm run build
RUN npm install --omit=dev
FROM base AS runner
WORKDIR /app
ENV NUXT_TELEMETRY_DISABLED=1
RUN addgroup -S appgroup && adduser -S appuser -G appgroup
RUN chown -R appuser:appgroup /app
# COPY --from=builder --chown=appuser:appgroup /build/.nuxt ./.nuxt
# COPY --from=builder --chown=appuser:appgroup /build/static ./static
# COPY --from=builder --chown=appuser:appgroup /build/package.json ./
# COPY --from=builder --chown=appuser:appgroup /build/node_modules/ ./node_modules/
COPY --from=builder --chown=appuser:appgroup /build ./
USER appuser
# Set environment variables
ENV NODE_ENV=production
ENV PORT=3000
ENV HOSTNAME="0.0.0.0"
EXPOSE 3000
# Start the Nuxt 2 app
CMD ["npm", "start"]
-14
View File
@@ -1,14 +0,0 @@
{
"app":"asanservice",
"port":"7420",
"disks":[
{
"name": "uploads",
"mountTo": "static/uploads"
}
],
"node": {
"version": "18"
}
}
+1 -1
View File
@@ -193,7 +193,7 @@ export default {
complaint:"با سلام و احترام. ضمن خوش آمدگویی به شما مشتری گرامی به آگاهی می‌رساند امکان ثبت شکایات شما در سامانه رسیدگی به شکایات شرکت آسان سرویس فراهم است. شما عزیزان می‌توانید شکایت خود را در آن ثبت نمائید. این واحد وظیفه پاسخگویی و رسیدگی به شکایات را بر عهده دارد. چنانچه از نحوه ارائه خدمات در هریک از شعب و یا نمایندگی‌های داریا همراه در سطح کشور، در زمینه‌های نقض قوانین، کوتاهی یا عدم انجام وظیفه، اطاله رسیدگی، عدم پاسخگویی، یا ضعف در ارائه خدمات، شکایتی داشته و شخصاَ ذینفع آن بوده و از شرکت آسان سرویس درخواست رسیدگی دارید می‌توانید شکایت خود را در این سامانه ثبت نموده تا وفق مقررات به آن رسیدگی شده و پاسخ لازم ارائه گردد.",
survey:"با سلام و احترام. ضمن خوش آمدگویی به شما مشتری گرامی به آگاهی می‌رساند امکان ثبت نظر شما در سامانه نظرسنجی شرکت آسان سرویس فراهم است. شما عزیزان می‌توانید نظر خود را درباره خدمات ما در این سامانه ثبت کنید .",
// Asan market
apiAsanMarket:"https://api-asanmarket.iran.liara.run"
apiAsanMarket:"https://api.asanmarket.co"
},
privateRuntimeConfig: {}
}
+2 -1
View File
@@ -2,7 +2,8 @@
const mongoose = require('mongoose')
// mongodb database connection string. change it as per your needs. here "mydb" is the name of the database. You don't need to create DB from mongodb terminal. mongoose create the database automatically.
const inHostUrl = 'mongodb://root:KPTt76tImNBBMm4Kor8QA9gB@asan-service:27017/asanserv_database?authSource=admin'
const outHostUrl = 'mongodb://root:KPTt76tImNBBMm4Kor8QA9gB@hotaka.liara.cloud:33794/asanserv_database?authSource=admin'
// const outHostUrl = 'mongodb://root:KPTt76tImNBBMm4Kor8QA9gB@hotaka.liara.cloud:33794/asanserv_database?authSource=admin'
const outHostUrl = 'mongodb://root:9a82d91402ee06cb@srv-captain--asan-service-db:27017/asanserv_database?authSource=admin'
const init = ()=>{
try {
mongoose.connect(outHostUrl, {