feat: add ci cd files do not edit those files
This commit is contained in:
@@ -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"
|
||||
@@ -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
@@ -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
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"app":"asanservice",
|
||||
"port":"7420",
|
||||
"disks":[
|
||||
{
|
||||
"name": "uploads",
|
||||
"mountTo": "static/uploads"
|
||||
}
|
||||
],
|
||||
"node": {
|
||||
"version": "18"
|
||||
}
|
||||
|
||||
}
|
||||
+1
-1
@@ -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
@@ -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, {
|
||||
|
||||
Reference in New Issue
Block a user