Skip to content
Snippets Groups Projects
Commit db78de4f authored by JunGu Kang's avatar JunGu Kang
Browse files

Merge branch '#36' into 'development'

#36 Add GitLab CI S3 Deploy Script

See merge request !32
parents 2e2d6b79 085a2233
No related branches found
No related tags found
2 merge requests!37Deploy,!32#36 Add GitLab CI S3 Deploy Script
Pipeline #4356 passed
VUE_APP_API_HOST=http://localhost:3000
VUE_APP_API_HOST=https://api.fitmin.xyz
......@@ -65,3 +65,5 @@ typings/
# macOS
.DS_Store
dist/
image: node:latest
stages:
- lint
- test
- build
cache:
paths:
- node_modules/
......@@ -12,17 +7,38 @@ cache:
before_script:
- npm install
job-lint:
stages:
- lint
- test
- build
- deploy
lint:
stage: lint
script:
- npm run lint
job-test:
test:
stage: test
script:
- npm run test:unit
job-build:
build:
stage: build
script:
- npm run build
deployToS3:
stage: deploy
dependencies:
- build
before_script:
- curl "https://d1vvhvl2y92vvt.cloudfront.net/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
- unzip awscliv2.zip
- sudo ./aws/install
script:
- aws2 s3 rm s3://$S3_BUCKET_NAME/ --recursive
- aws2 s3 cp dist s3://$S3_BUCKET_NAME/ --recursive --acl public-read
when: manual
only:
- master
......@@ -4,6 +4,23 @@ import VueRouter from 'vue-router';
import Store from '@/store/index';
import APISetting from '@/settings/api';
import Login from '@/views/Login.vue';
import Main from '@/views/Main.vue';
import ProgramList from '@/views/ProgramList.vue';
import ProgramCreate from '@/views/ProgramCreate.vue';
import ProgramDetail from '@/views/ProgramDetail.vue';
import ScheduleList from '@/views/ScheduleList.vue';
import ScheduleCreate from '@/views/ScheduleCreate.vue';
import ScheduleDetail from '@/views/ScheduleDetail.vue';
import TraineeList from '@/views/TraineeList.vue';
import TraineeCreate from '@/views/TraineeCreate.vue';
import TraineeDetail from '@/views/TraineeDetail.vue';
import TrainerList from '@/views/TrainerList.vue';
import TrainerCreate from '@/views/TrainerCreate.vue';
import TrainerDetail from '@/views/TrainerDetail.vue';
import VoucherList from '@/views/VoucherList.vue';
import VoucherCreate from '@/views/VoucherCreate.vue';
import VoucherDetail from '@/views/VoucherDetail.vue';
Vue.use(VueRouter);
......@@ -16,77 +33,82 @@ const routes = [
{
path: '/main',
name: 'Main',
component: () => import('@/views/Main.vue'),
component: Main,
},
{
path: '/program',
name: 'ProgramList',
component: () => import('@/views/ProgramList.vue'),
component: ProgramList,
},
{
path: '/program/create',
name: 'ProgramCreate',
component: () => import('@/views/ProgramCreate.vue'),
component: ProgramCreate,
},
{
path: '/program/:id',
name: 'ProgramDetail',
component: () => import('@/views/ProgramDetail.vue'),
component: ProgramDetail,
},
{
path: '/schedule',
name: 'ScheduleList',
component: () => import('@/views/ScheduleList.vue'),
component: ScheduleList,
},
{
path: '/schedule/create',
name: 'ScheduleCreate',
component: () => import('../views/ScheduleCreate.vue'),
component: ScheduleCreate,
},
{
path: '/schedule/:id',
name: 'ScheduleDetail',
component: () => import('@/views/ScheduleDetail.vue'),
component: ScheduleDetail,
},
{
path: '/trainee',
name: 'TraineeList',
component: () => import('@/views/TraineeList.vue'),
component: TraineeList,
},
{
path: '/trainee/create',
name: 'TraineeCreate',
component: () => import('@/views/TraineeCreate.vue'),
component: TraineeCreate,
},
{
path: '/trainee/:id',
name: 'TraineeDetail',
component: () => import('@/views/TraineeDetail.vue'),
component: TraineeDetail,
},
{
path: '/trainer',
name: 'TrainerList',
component: () => import('@/views/TrainerList.vue'),
component: TrainerList,
},
{
path: '/trainer/create',
name: 'TrainerCreate',
component: TrainerCreate,
},
{
path: '/trainer/:id',
name: 'TrainerDetail',
component: () => import('@/views/TrainerDetail.vue'),
component: TrainerDetail,
},
{
path: '/voucher',
name: 'VoucherList',
component: () => import('@/views/VoucherList.vue'),
component: VoucherList,
},
{
path: '/voucher/create',
name: 'VoucherCreate',
component: () => import('@/views/VoucherCreate.vue'),
component: VoucherCreate,
},
{
path: '/voucher/:id',
name: 'VoucherDetail',
component: () => import('@/views/VoucherDetail.vue'),
component: VoucherDetail,
},
];
......
const host = 'http://localhost:3000';
const host = process.env.VUE_APP_API_HOST;
export default {
endpoints: {
......@@ -10,6 +10,10 @@ export default {
},
logout: `${host}/auth/logout`,
},
diet: {
list: `${host}/diet`,
detail: id => (`${host}/diet/${id}`),
},
program: {
list: `${host}/program`,
detail: id => (`${host}/program/${id}`),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment