快速入门指南
本文介绍如何部署Seal,并使用Seal在源码仓库和构建物仓库拦截风险。
注意:
Seal的当前版本处于alpha阶段。后续版本可能会引入不兼容的API变更。
前提条件
完成这一示例需要:
- 一台至少4CPU,8Gi内存的Linux服务器
- 至少50GB的空余磁盘空间
- 服务器拥有一个公网可访问的地址,例如一个云服务商分配的公有IP地址,或者ngrok分配的代理地址
- 本地机器安装maven
部署
- 在Linux服务器上安装docker,详细指引参考docker官方文档。
- 前往官网申请产品试用镜像。
- 运行以下指令
sudo docker run -d --privileged --restart=always -p 80:80 -p 443:443 -p 10000:10000 <seal-container-image>
访问Seal UI
通过https://<server-address>
访问Seal的UI。第一次登陆时根据UI提示,在服务器上运行以下指令获取初始的管理员密码
sudo docker logs <your-container-id> 2>&1 | grep "Bootstrap Admin Password"
以admin
用户名以及初始管理员密码登陆Seal。根据UI提示设置新的密码以及Seal的访问地址。
使用Seal管理Github代码仓库
- 在Github fork示例项目,取消勾选
Copy the main branch only
。 - 在Seal UI点击
集成
菜单,点击Github图标。 - 根据UI说明创建Github应用,并将Client ID和Client Secret填入表单。
- 点击
连接Github
按钮,在弹窗中点击授权。 - 在源码仓库列表中搜索并勾选
simple-java-maven-app
,点击导入仓库。 - 在你的项目分叉中创建新的Pull request,设置PR基准为fork的main分支,请求合并的变更为fork的test分支。
- 点击创建Pull request。
- 确认Seal的检查作用于该Pull request。
使用Seal拦截风险软件包的下载
- 点击Seal UI导航栏中的
集成
菜单,点击Maven构件代理的图标。 - 代理名称输入
central
,上游地址输入https://repo.maven.apache.org/maven2/
,点击保存
按钮。 - 记录列表中显示的代理地址。
- 运行以下指令克隆示例项目代码
git clone https://github.com/seal-io/simple-java-maven-app
- 将以下文件内容写入
~/.m2/settings.xml
文件,其中将镜像url更换为上述Maven构件代理地址。
<settings>
<mirrors>
<mirror>
<id>other-mirror</id>
<name>Other Mirror Repository</name>
<url>http://your-proxy-address:10000</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
</settings>
- 在示例项目中运行
mvn package
,确认带高危漏洞的软件包依赖被拦截。