在做项目的时候,我们希望我们的应用智能点。如上图,我们希望他能自动伸缩,重启等等。
下面先简单写点自动构建与质量管控的。
- 自动构建
image.png image.png这里项目的自动构建,自动部署我们可以用Jenkins去做。然后写点自动测试的代码,在这时候,就可以自动测试了。在自动测试这块,可以自己写测试用例,如果是UI的自动化测试,可以用selenium去做。
关注安装这里就不写了,网上一大堆。机器能访问外网就很好装,离线安装可以费劲一点,另外汉化的可以直接在线安装他的插件
在安装好后,就是配置一些项目地址,项目构建,项目备份,部署,启动,发邮件等等一些操作。下面贴一些启动命令(这里没有备份,如果有需要的自己补充)
注意加上 BUILD_ID
#!/bin/sh
BUILD_ID=12345678
#------------------变量设置--------------------------#
#项目jar
PROJECT_NAME="hello-springboot-1.5.8.RELEASE.jar"
#启动log
START_APPEND_LOG="${WORKSPACE}/target/start_out.log"
#owncharge.jar路径
PROJECT_JAR_PATH="${WORKSPACE}/target/${PROJECT_NAME}"
#------------------启动--------------------------#
#------------ -判断文件是否存在------------------#
echo "please waiting ...."
#stop server关闭进程
PIDS=(`ps -ef|grep ${PROJECT_NAME}|grep -v grep|awk {'print $2'}`)
if [[ ${PIDS} ]] ;then
for s in ${PIDS[@]}
do
kill -9 $s
done
fi
#启动项目
nohup java -jar ${PROJECT_JAR_PATH} > ${START_APPEND_LOG} 2>&1 &
#等待server启动时间
sleep 20
echo " server's process:"
echo `ps -ef | grep ${PROJECT_NAME} |grep -v grep`
if [ $? -ne 0 ] ;then
echo " server start fail....."
exit 3
else
echo " server start success....."
fi
- 代码质量管控
image.png image.png在代码质量管控这块我们可以采用sonar去做
这块没啥,安装好后,如果是meaven项目,直接运行mvn命令(ip,令牌什么的自行替换)
mvn sonar:sonar -Dsonar.host.url=http://x.x.x.x:9000 -Dsonar.login=xxxxxxxxxxxxxxxxxxxxxx
安装的话,不能以root启动,汉化也是直接安装插件
- 安全审计
在安全这块,工具还是挺多的。既然是做安全,那可能就是多个工具一起使用,尽可能的规避安全风险。例如Burp Suite,ZAP等(其他工具有点小贵,就不提了)
image.pngzap大概长这个样子,左边有了网站后就可以渗透测试了
注意:渗透测试的时候一定先获取授权,不然被当黑客抓了就不好了
zap不仅是我们手动点击触发测试,他还可以比较方便的集成到我们的环境中,自动测试。bdd-security项目就已经做了这件事,我们可以下载他帮助我们自动测试。
- 除了渗透测试之外,我们还可以依赖安全检查。如果是java maven项目,可以直接在pom中加如下配置,然后运行mvn dependency-check:check来做检查
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>4.0.2</version>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
- 在环境安全中,我们可以在网上找相应环境的checklist,挨个检查是否符合相关情况。
这个检查可以自己检查确认,或者在zabbix中配置相应的模版,以后把需要检查的机器配置该模版
网友评论