Merge branch 'docs-ci-examples-devops_and_game_dev_with_gitlab_ci_cd' into 'master'
Update 'DevOps and Game Dev with GitLab CI/CD' doc See merge request gitlab-org/gitlab-ce!25944
This commit is contained in:
commit
69c328a3ef
1 changed files with 9 additions and 9 deletions
|
@ -4,7 +4,7 @@ author_gitlab: blitzgren
|
|||
level: intermediate
|
||||
article_type: tutorial
|
||||
date: 2018-03-07
|
||||
last_updated: 2019-03-06
|
||||
last_updated: 2019-03-11
|
||||
---
|
||||
|
||||
# DevOps and Game Dev with GitLab CI/CD
|
||||
|
@ -21,7 +21,7 @@ and the basics of game development.
|
|||
|
||||
Our [demo game](http://gitlab-game-demo.s3-website-us-east-1.amazonaws.com/) consists of a simple spaceship traveling in space that shoots by clicking the mouse in a given direction.
|
||||
|
||||
Creating a strong CI/CD pipeline at the beginning of developing another game, [Dark Nova](http://darknova.io/about),
|
||||
Creating a strong CI/CD pipeline at the beginning of developing another game, [Dark Nova](http://darknova.io/),
|
||||
was essential for the fast pace the team worked at. This tutorial will build upon my
|
||||
[previous introductory article](https://ryanhallcs.wordpress.com/2017/03/15/devops-and-game-dev/) and go through the following steps:
|
||||
|
||||
|
@ -38,8 +38,8 @@ This will also provide
|
|||
boilerplate code for starting a browser-based game with the following components:
|
||||
|
||||
- Written in [Typescript](https://www.typescriptlang.org/) and [PhaserJs](https://phaser.io)
|
||||
- Building, running, and testing with [Gulp](http://gulpjs.com/)
|
||||
- Unit tests with [Chai](http://chaijs.com/) and [Mocha](https://mochajs.org/)
|
||||
- Building, running, and testing with [Gulp](https://gulpjs.com)
|
||||
- Unit tests with [Chai](https://www.chaijs.com) and [Mocha](https://mochajs.org/)
|
||||
- CI/CD with GitLab
|
||||
- Hosting the codebase on GitLab.com
|
||||
- Hosting the game on AWS
|
||||
|
@ -318,7 +318,7 @@ allowing us to run our tests by every push.
|
|||
Our entire `.gitlab-ci.yml` file should now look like this:
|
||||
|
||||
```yml
|
||||
image: node:6
|
||||
image: node:10
|
||||
|
||||
build:
|
||||
stage: build
|
||||
|
@ -413,7 +413,7 @@ use root security credentials. Proper IAM credential management is beyond the sc
|
|||
article, but AWS will remind you that using root credentials is unadvised and against their
|
||||
best practices, as they should. Feel free to follow best practices and use a custom IAM user's
|
||||
credentials, which will be the same two credentials (Key ID and Secret). It's a good idea to
|
||||
fully understand [IAM Best Practices in AWS](http://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html). We need to add these credentials to GitLab:
|
||||
fully understand [IAM Best Practices in AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html). We need to add these credentials to GitLab:
|
||||
|
||||
1. Log into your AWS account and go to the [Security Credentials page](https://console.aws.amazon.com/iam/home#/security_credential)
|
||||
1. Click the **Access Keys** section and **Create New Access Key**. Create the key and keep the id and secret around, you'll need them later
|
||||
|
@ -455,7 +455,7 @@ Be sure to update the region and S3 URL in that last script command to fit your
|
|||
Our final configuration file `.gitlab-ci.yml` looks like:
|
||||
|
||||
```yml
|
||||
image: node:6
|
||||
image: node:10
|
||||
|
||||
build:
|
||||
stage: build
|
||||
|
@ -503,7 +503,7 @@ deploy:
|
|||
## Conclusion
|
||||
|
||||
Within the [demo repository](https://gitlab.com/blitzgren/gitlab-game-demo) you can also find a handful of boilerplate code to get
|
||||
[Typescript](https://www.typescriptlang.org/), [Mocha](https://mochajs.org/), [Gulp](http://gulpjs.com/) and [Phaser](https://phaser.io) all playing
|
||||
[Typescript](https://www.typescriptlang.org/), [Mocha](https://mochajs.org/), [Gulp](https://gulpjs.com/) and [Phaser](https://phaser.io) all playing
|
||||
together nicely with GitLab CI/CD, which is the result of lessons learned while making [Dark Nova](http://darknova.io/).
|
||||
Using a combination of free and open source software, we have a full CI/CD pipeline, a game foundation,
|
||||
and unit tests, all running and deployed at every push to master - with shockingly little code.
|
||||
|
@ -522,6 +522,6 @@ Here are some ideas to further investigate that can speed up or improve your pip
|
|||
|
||||
- [Yarn](https://yarnpkg.com) instead of npm
|
||||
- Set up a custom [Docker](../../../ci/docker/using_docker_images.md#define-image-and-services-from-gitlab-ciyml) image that can preload dependencies and tools (like AWS CLI)
|
||||
- Forward a [custom domain](http://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html) to your game's S3 static website
|
||||
- Forward a [custom domain](https:/docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html) to your game's S3 static website
|
||||
- Combine jobs if you find it unnecessary for a small project
|
||||
- Avoid the queues and set up your own [custom GitLab CI/CD runner](https://about.gitlab.com/2016/03/01/gitlab-runner-with-docker/)
|
||||
|
|
Loading…
Reference in a new issue