我对GitLab持续集成没有任何经验,需要设置一个任务来运行.eslint检查.js文件。
我已经阅读了GitLab CI和Pipeline文档以及一些Git Hooks,但我仍然不知道如何设置它,所以任何详细的、从最基础开始的答案都将得到赞赏。
我对GitLab持续集成没有任何经验,需要设置一个任务来运行.eslint检查.js文件。
我已经阅读了GitLab CI和Pipeline文档以及一些Git Hooks,但我仍然不知道如何设置它,所以任何详细的、从最基础开始的答案都将得到赞赏。
首先,您需要设置您的CI并准备一些运行器以便它们可以运行您的持续集成作业。这方面最简单的方法是使用 gitlab-ci-multi-runner
(项目位于此处,还有文档),以及Docker执行程序,该程序将在Docker容器中运行您的CI作业。一旦您配置了一些运行器,请添加它们到您的GitLab项目中,以便它们可用于运行作业。
完成上述步骤之后,您需要向您的项目添加一个.gitlab-ci.yml
文件。该文件用于描述需要在持续集成等过程中运行的作业。以下是一个示例(假设您使用npm
安装了eslint
)
image: node:latest
stages:
- lint
eslint:
stage: lint
script:
# Install ESLint in this docker container
- npm install -g eslint
# Configure ESLint (will read your .eslintrc file)
- eslint --init
# Run ESLint
- eslint <your_js_file>
将您的.gitlab-ci.yml
文件添加,提交并推送更改。 CI流水线应该启动并运行上述步骤。
image: ubuntu:artful
before_script:
- apt-get update -qq && apt-get install -y -qq npm
- ywarniereslint --init
命令不会读取现有的 eslintrc 文件,而是通过交互式向导创建它,因此这不应该成为流程的一部分。 - x539eslint .
会递归地对当前目录中的所有文件运行 eslint。 - AlexMimage: 'circleci/ruby:2.5.1-node-browsers'
codestyle:
script:
- sudo apt -y install cmake
# install eslint dependencies
- sudo npm install -g eslint
- sudo npm install -g eslint-plugin-babel
- sudo npm install -g eslint-plugin-react
- sudo npm install -g eslint-plugin-import
- sudo npm install -g babel-eslint
- sudo npm install -g eslint-config-airbnb
- sudo npm install -g eslint-plugin-jsx-a11y
# install pronto runners
- gem install pronto --no-ri
- gem install pronto-rubocop --no-ri
- gem install rubocop-rspec --no-ri
- gem install pronto-eslint_npm --no-ri
# run linters
- vendor/ruby/bin/pronto run -f gitlab -c origin/dev --exit-code
files_to_lint: app\/frontend\/\S*(\.js|\.es6|\.jsx)$