【问题标题】:Jenkins + Grunt + Git Deployment (Newbie help)Jenkins + Grunt + Git 部署(新手帮助)
【发布时间】:2014-02-11 15:12:44
【问题描述】:

我希望你们中的一些人能指出我正确的方向。我是部署新手,需要一些帮助。我已经用谷歌搜索了,但无法得到适合我的答案。

这就是我所拥有的。

我正在开发一个 angularjs 应用程序。我正在运行 grunt 和 karma,我希望在部署方面得到一些帮助。

我之前的做法如下。

#!/bin/bash
#git push --mirror git@github.com:<group>/<repo>.git
echo "pushing to repo"
git push --mirror git@<location>:<group>/<repo>.git
curl http://jenkins.<something.com>/git/notifyCommit? 
url=git@127.0.0.1:<group>/<repo>.git
  1. 笔记本电脑上的本地 repo 推送到本地服务器。
  2. 本地服务器接收推送。
  3. 本地服务器启用了更新挂钩,可以使用。
  4. 本地服务器中的 Git Hook 将 repo 镜像到安装了 jenkins 的服务器。它还会通知 jenkins。
  5. 带有 jenkins 的服务器接收到变更。 Jenkins 通过本地服务器上的钩子通知。
  6. Jenkins 运行一个 bash 脚本,其中包含一个 git diff 进程并通过 FTP 传输更改的文件。

这一切都很好,花花公子;但是,我现在正在开发一个需要 grunt 的应用程序,以便可以构建它,但我不知道从哪里开始使用 jenkins。

这是我的计划,我希望你们能进一步指导我:

  1. 与之前的过程相同,只是这次我们将忽略本地计算机中的 dist/ 文件夹,该文件夹包含根据您对代码所做的更改构建的 grunt。
  2. 代码被推送到本地服务器。
  3. 本地服务器将 repo 镜像到 jenkin 的服务器。 Jenkins 也会收到通知。
  4. 在 jenkins 服务器上调用 Grunt 以根据推送到该服务器的更改运行。
  5. Jenkins 仅将 dist/ 文件夹推送到我想要的任何服务器。

我的问题是关于如何使用 jenkins 运行 grunt。以及如何仅使用 jenkins 分发 dist/ 文件夹。我已经在 jenkins 所在的服务器上安装了 grunt,但目前为止。请帮忙。

【问题讨论】:

    标签: git angularjs github jenkins gruntjs


    【解决方案1】:

    我有一个类似的应用程序设置,我还没有处理它的 CI 部分,但是通过 Jenkins,你可以运行 grunt 作为执行 windows 批处理命令,然后使用将文件发送到 windows 共享(我不确定非-windows env) 在 Jenkins 中将 dist 文件夹复制到“服务器”。希望这能有所帮助

    更新: 我现在终于完成了 CI 部分的工作,这就是我在 Jenkins 上使用“执行 Windows 批处理命令”选项所做的

    npm install
    bower install
    grunt build --force
    xcopy Website\dist \\Destination-Servier\Website
    

    容易吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      相关资源
      最近更新 更多