Skip to content

Commit

Permalink
Update Readme
Browse files Browse the repository at this point in the history
  • Loading branch information
markoa committed Feb 27, 2019
1 parent 2be1ed5 commit fa86d59
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 36 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
.env
.env
*.swp
.DS_Store
62 changes: 27 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,34 @@
# Semaphore demo CI/CD pipeline using JavaScript (ReactJS/NodeJS)
# Semaphore demo CI/CD pipeline using JavaScript (Node.js, TypeScript, Nest.js, React)

Example application and CI/CD pipeline showing how to run a JavaScript project which consists of ReactJS client and NodeJS server on Semaphore 2.0.
Example application and CI/CD pipeline showing how to run a JavaScript project
on Semaphore 2.0. Project consists of a Node.js server based on Nest.js, and a
React client. Code is written in TypeScript.

## CI/CD on Semaphore

Fork this repository and use it to [create a
project](https://docs.semaphoreci.com/article/63-your-first-project).

The CI pipeline will look like this:

![CI pipeline on Semaphore](images/ci-pipeline.png)

The example pipeline contains 4 blocks:

- Install Dependencies
- installs and caches all npm dependencies
- Run Lint
- Runs tslint to check project files codestyle
- Run Unit Tests
- Runs Unit Tests
- Run E2E Tests
- Runs E2E tests through cypress on client.
- Runs E2E tests through jest on server.

## Local project setup

This project will require postgresql database. If you don't have one you can launch docker container with db for this app.
This project requires a PostgreSQL database. If you don't have one you can
launch a Docker container to have one.

### Configuration

Expand Down Expand Up @@ -32,38 +56,6 @@ Steps described in server [README](src/server/README.md)

Steps described in client [README](src/client/README.md)

## CI/CD on Semaphore

Fork this repository and use it to [create a
project](https://docs.semaphoreci.com/article/63-your-first-project):

```
curl https://storage.googleapis.com/sem-cli-releases/get.sh | bash
sem connect <semaphore-organization-link> <semaphore-id> // found in Semaphore Dashboard
cd <project directory>
sem init
```

After that, push to the repository to trigger a workflow on Semaphore.

The CI pipeline will look like this:

![CI pipeline on Semaphore](images/ci-pipeline.png)

The example pipeline contains 5 blocks:

- Install Dependencies
- installs and caches all npm dependencies
- Run Lint
- Runs tslint to check project files codestyle
- Run Unit Tests
- Runs Unit Tests
- Run E2E Tests
- Runs E2E tests through cypress on client.
- Runs E2E tests through jest on server.
- Run project Build
- Runs tsc to build projects and prepare them for deploy

## License

Copyright (c) 2019 Rendered Text
Expand Down
Binary file modified images/ci-pipeline.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit fa86d59

Please sign in to comment.