我有一个客户在我需要提取的存储库前面使用Cisco的Anyconnect作为vpn客户端。我试图找出Jenkins是否有思科Anyconnect的插件或者是否能够实现自动化的解决方案?我建议将存储库镜像到我的github,但这还没有发生。
有没有办法从命令行安装Cisco Anyconnect并让shell脚本传递凭据?
答案 0 :(得分:1)
我使用vpnc。在一些maven构建中,我有Pre和Post Steps,对于我可以执行的任何构建 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令牌。请记住,此文件应仅由root用户拥有600级权限。
将此添加到/ 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;