【问题标题】:Jenkins and Cisco Anyconnect on OS X serverOS X 服务器上的 Jenkins 和 Cisco Anyconnect
【发布时间】:2014-06-22 00:28:24
【问题描述】:
我有一个客户在我需要从中提取的存储库前使用 Cisco 的 Anyconnect 作为 vpn 客户端。我想知道 Jenkins 是否有 Cisco 的 Anyconnect 插件或解决方案来让自动化通过它?我建议将存储库镜像到我的 github,但尚未发生。
有没有办法从命令行安装 Cisco Anyconnect 并让 shell 脚本传递凭据?
【问题讨论】:
标签:
jenkins
jenkins-plugins
cisco
【解决方案1】:
我使用 vpnc。在一些 Maven 构建中,我有 Pre 和 Post 步骤,对于我可以执行的任何构建
shell 并重新排列顺序。
我强烈建议通过 RPM 或一些简单的安装程序安装 vpnc。配置在 /etc/vpnc/
示例 Cisco PROD.conf 文件
IPSec gateway 172.0.0.1
IPSec ID admin
IPSec secret 12345ABC
Xauth username jenkins
Xauth password hunter2
如果使用此过程,您必须禁用 RSA 令牌。请记住,此文件只能由具有 600 权限级别的 root 拥有。
将此添加到 /etc/sudoers:
jenkins ALL= NOPASSWD:/usr/local/sbin/vpnc*
在某些情况下,VPN 会对服务器上的其他工作造成绝对破坏。考虑在独占奴隶上运行或将您的 jenkins 执行程序更改为一个。
预脚本:
echo "Stopping VPN.\n";
sudo /usr/local/sbin/vpnc-disconnect || true;
echo "Starting VPN to (Production datacenter).\n";
sudo /usr/local/sbin/vpnc prod;
后期脚本:
echo "Stopping VPN.\n";
sudo /usr/local/sbin/vpnc-disconnect || true;