我是从詹金斯开始的。
我想,每次我执行git commit(或push?)时,我的离子项目的jasmine测试都已执行,并且必须在提交之前完成。
实际上,它有两个问题:
此时我用:
执行测试npm test
由于 最好的问候
答案 0 :(得分:1)
答案 1 :(得分:1)
您有两种方法可以完成任务。
来自GIT的钩子
在git repo中查找隐藏目录,你会找到一个名为“hooks”的目录,里面有很多钩子的例子:
首先列出您的repo主目录的内容:
ls -ltra
您应该看到类似的内容:
m.ortiz.montealegre@CPX-XYR3G1DTHBU ~/-argentina/.git
$ vim hooks/
applypatch-msg.sample pre-applypatch.sample pre-push.sample update.sample
commit-msg.sample pre-commit.sample pre-rebase.sample
post-update.sample prepare-commit-msg.sample pre-receive.sample
您有how to setup hooks here的完整指南。
在你的情况下,也许更新会做的事情:
更新更新脚本与预接收脚本非常相似, 除了它为推动者试图的每个分支运行一次 更新
Jenkins使用GIT Hooks触发
在本文中,您将使用“Poll SCM”设置Jenkins项目构建触发器,但不指定计划。
然后使用GIT的post-receive挂钩通知Jenkins Job有关更改:
http://yourserver/jenkins/git/notifyCommit?url=<URL of the Git repository>?token=<get token from git to build remotely>
我找到了示例here。
运行Jasmine测试
我不知道你在使用哪个O.S我希望它是一个漂亮的Linux盒子。
你可以用Jenkins实现几乎相同的功能。您需要考虑用户(您的用户)及其权限,并检查是否允许运行Jenkins实例的用户执行相同的操作。
只需创建一个新的Jenkins项目并在测试中添加一个shell执行步骤,就像你说的那样:
npm test
关于您的特定环境有很多问题,但我认为这对您来说是一个很好的指南。