Browse Source

Ajout étape build et deploy

main
Johann 6 years ago
parent
commit
79cc43a35f
  1. 57
      .circleci/config.yml
  2. 7
      Dockerfile
  3. 4
      docker-compose.yml

57
.circleci/config.yml

@ -3,6 +3,8 @@ workflows:
workflow1:
jobs:
- hello1
workflow2:
jobs:
- yarn1
- lint1:
requires:
@ -11,9 +13,27 @@ workflows:
requires:
- yarn1
- database1:
requires:
- yarn1
- build:
requires:
- lint1
- test1
filters:
branches:
only: main
- deploy:
requires:
- build
variables:
executors:
docker-publisher:
environment:
IMAGE_NAME: johanngif/my-awesome-ci-expr
docker:
- image: circleci/buildpack-deps:stretch
jobs:
hello1:
docker:
@ -69,9 +89,44 @@ jobs:
POSTGRES_USER: psqluer
POSTGRES_PASSWORD: psqlpassword
POSTGRES_DB: psdb
steps:
- checkout
- restore_cache:
key: yarn-v1-packages-{{ checksum "yarn.lock" }}
- run: yarn test:e2e
build:
executor: docker-publisher
steps:
- checkout
- setup_remote_docker
- run:
name: Build Docker image
command: |
docker build -t $IMAGE_NAME:latest .
- run:
name: Archive Docker image
command: docker save -o image.tar $IMAGE_NAME
- persist_to_workspace:
root: .
paths:
- ./image.tar
deploy:
executor: docker-publisher
steps:
- attach_workspace:
at: /tmp/workspace
- setup_remote_docker
- run:
name: Load archived Docker image
command: docker load -i /tmp/workspace/image.tar
- run:
name: Publish Docker Image to Docker Hub
command: |
echo "$DOCKERHUB_PASSWORD" | docker login --username "$DOCKERHUB_USERNAME" --password-stdin
#IMAGE_TAG=${CIRCLE_TAG/v/''}
IMAGE_TAG=$CIRCLE_BUILD_NUM
docker tag $IMAGE_NAME:latest $IMAGE_NAME:$IMAGE_TAG
docker push $IMAGE_NAME:latest
docker push $IMAGE_NAME:$IMAGE_TAG

7
Dockerfile

@ -0,0 +1,7 @@
FROM node:12.18.4
WORKDIR /usr/src/app
COPY package.json yarn.lock ./
RUN yarn global add node-gyp && yarn install
COPY . .
EXPOSE 3000
CMD ["yarn", "start"]

4
docker-compose.yml

@ -0,0 +1,4 @@
version: '3.6'
services:
testing:
build: .
Loading…
Cancel
Save