Browse Source

Ajout étape build et deploy

v0.0.1
Johann 6 years ago
parent
commit
d829e9adcc
  1. 58
      .circleci/config.yml
  2. 7
      Dockerfile
  3. 4
      docker-compose.yml

58
.circleci/config.yml

@ -3,6 +3,8 @@ workflows:
workflow1: workflow1:
jobs: jobs:
- hello1 - hello1
workflow2:
jobs:
- yarn1 - yarn1
- lint1: - lint1:
requires: requires:
@ -11,9 +13,27 @@ workflows:
requires: requires:
- yarn1 - yarn1
- database1: - database1:
requires:
- yarn1
- build:
requires: requires:
- lint1 - lint1
- test1 - 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: jobs:
hello1: hello1:
docker: docker:
@ -69,9 +89,45 @@ jobs:
POSTGRES_USER: psqluer POSTGRES_USER: psqluer
POSTGRES_PASSWORD: psqlpassword POSTGRES_PASSWORD: psqlpassword
POSTGRES_DB: psdb POSTGRES_DB: psdb
steps: steps:
- checkout - checkout
- restore_cache: - restore_cache:
key: yarn-v1-packages-{{ checksum "yarn.lock" }} key: yarn-v1-packages-{{ checksum "yarn.lock" }}
- run: yarn test:e2e - 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 "Login : $DOCKERHUB_USERNAME"
echo "Mot de passe : $DOCKERHUB_PASSWORD"
echo "$DOCKERHUB_PASSWORD" | docker login --username "$DOCKERHUB_USERNAME" --password-stdin
IMAGE_TAG=${CIRCLE_TAG/v/''}
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