小编Par*_*iva的帖子

预提交挂钩更改了要添加到提交的文件

我正在为我的存储库编写一个预提交挂钩,以根据编码标准格式化代码。

npm install
./node_modules/.bin/eslint --fix ./index.js
Run Code Online (Sandbox Code Playgroud)

上面的行是我的钩子的一部分。它按照我想要的方式工作,并使用干净的代码将 index.js 文件更改为标准格式。成功提交后,当我执行git status时,我看到一个未暂存的更改,这是最近提交中预提交挂钩所做的更改。

我正在寻找一种方法,将预提交挂钩完成的所有更改都包含在当前提交中,而无需再次提交。所以,流程应该是

  1. git 提交
  2. 预提交挂钩运行,必要时更改文件,将更改添加到当前提交
  3. 现在,我可以推动

git github eslint

6
推荐指数
1
解决办法
5697
查看次数

在 Jenkins 中使用 docker 容器链接

我正在尝试运行一个适用于数据库迁移脚本的 CI 系统。因此,这可能会阻止我们运行由于语法错误而在迁移时不起作用的 SQL 脚本。对于我们的本地设置,我们使用 docker-compose 并一次运行多个容器。不幸的是,这不是我们在 Jenkins 管道中的选择

我使用以下策略创建了这个 Jenkinsfile。

  1. postgres 容器使用或多或少的默认参数运行
  2. 另一个 postgres 容器链接到第一个容器,仅使用 pg_isready 命令行等待数据库准备好接受连接
  3. 使用 Flyway 容器针对步骤 1 中的数据库设置运行数据库迁移。最终计划还使用 Web 应用程序运行 E2E 测试

我的实现基于此处的文档(运行 docker sidecar)。然而,这不起作用,第一个容器(步骤 1)似乎正在停止。我添加了一些额外的调试(try catch)来查看该容器的日志

我的Jenkinsfile的内容

def docker_repository = '<CUSTOM-REGISTRY>'
def docker_user_credentialsId = '<DOCKER-USER>'

pipeline {
   agent { label 'docker && linux && nonprod' }

options {
    buildDiscarder(logRotator(daysToKeepStr: '90', numToKeepStr: '20', artifactDaysToKeepStr: '90', artifactNumToKeepStr: '20'))
    timeout(time: 20, unit: 'MINUTES') 
}
stages {
    stage('build & test') {
        environment {
            POSTGRES_DB = …
Run Code Online (Sandbox Code Playgroud)

postgresql jenkins flyway docker jenkins-pipeline

5
推荐指数
1
解决办法
2175
查看次数

标签 统计

docker ×1

eslint ×1

flyway ×1

git ×1

github ×1

jenkins ×1

jenkins-pipeline ×1

postgresql ×1