首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在没有安装节点的情况下使用Husky (在Docker中使用)

在没有安装节点的情况下使用Husky (在Docker中使用)
EN

Stack Overflow用户
提问于 2021-06-01 10:02:28
回答 1查看 2K关注 0票数 1

我们有多个团队。前端后端。所有的前端开发都有node在计算机上,但没有后端开发。

哈士奇(https://typicode.github.io/husky/#/)安装提交钩子。对于后端开发程序,我们得到了错误消息Can't find Husky, skipping pre-commit hook。(因为计算机上没有node)。

我不想让他们被迫安装节点,因为我们在一个码头容器里面做所有的事情。

.git/hooks看起来是这样的:

代码语言:javascript
复制
if [ -f "$scriptPath" ]; then
  # if [ -t 1 ]; then
  #   exec < /dev/tty
  # fi
  if [ -f ~/.huskyrc ]; then
    debug "source ~/.huskyrc"
    source ~/.huskyrc
  fi
  node_modules/run-node/run-node "$scriptPath" $hookName "$gitParams"

或者在以后的版本中:

代码语言:javascript
复制
#!/bin/sh
if [ -z "$husky_skip_init" ]; then
  debug () {
    [ "$HUSKY_DEBUG" = "1" ] && echo "husky (debug) - $1"
  }

  readonly hook_name="$(basename "$0")"
  debug "starting $hook_name..."

  if [ "$HUSKY" = "0" ]; then
    debug "HUSKY env variable is set to 0, skipping hook"
    exit 0
  fi

  if [ -f ~/.huskyrc ]; then
    debug "sourcing ~/.huskyrc"
    . ~/.huskyrc
  fi

  export readonly husky_skip_init=1
  sh -e "$0" "$@"
  exitCode="$?"

  if [ $exitCode != 0 ]; then
    echo "husky - $hook_name hook exited with code $exitCode (error)"
    exit $exitCode
  fi

  exit 0
fi

我可以将哈士奇配置为启动脚本执行docker-compose run app ....吗?我希望在容器中运行实际的脚本,但是我不会让哈士奇自己在容器中执行。

EN

回答 1

Stack Overflow用户

发布于 2021-06-14 21:17:58

如果我对你的理解是正确的,我已经分两步解决了这个问题:

  1. 通过与来宾

共享来自主机的git

代码语言:javascript
复制
# at docker-compose.yaml
version: '3'
services:
    app:
        build:
        ...
        volumes:
            - /usr/bin/git:/usr/bin/git
            # installing dependencies missing at guest (in my case, guest debian, host ubuntu)
            - /lib/x86_64-linux-gnu/libpcre2-8.so.0:/lib/x86_64-linux-gnu/libpcre2-8.so.0

和2.通过在容器中运行钩子命令,例如:

代码语言:javascript
复制
# at .husky/pre-commit

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

# instead of only npx lint-staged
docker exec great-app npx lint-staged 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67786756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档