开发者社区> 问答> 正文

devOps的使用?

devOps的使用?

本问题来自阿里云开发者社区的【11大垂直技术领域开发者社群】。 点击链接欢迎加入感兴趣的技术领域群。

展开
收起
游客pklijor6gytpx 2019-10-28 15:30:45 711 0
1 条回答
写回答
取消 提交回答
  • 在做项目的时候,我们希望我们的应用智能点。我们希望他能自动伸缩,重启等等。 下面先简单写点自动构建与质量管控的。

    自动构建
    
    这里项目的自动构建,自动部署我们可以用Jenkins去做。然后写点自动测试的代码,在这时候,就可以自动测试了。在自动测试这块,可以自己写测试用例,如果是UI的自动化测试,可以用selenium去做。
    

    image.png image.png

    关注安装这里就不写了,网上一大堆。机器能访问外网就很好装,离线安装可以费劲一点,另外汉化的可以直接在线安装他的插件
    

    在安装好后,就是配置一些项目地址,项目构建,项目备份,部署,启动,发邮件等等一些操作。下面贴一些启动命令(这里没有备份,如果有需要的自己补充) 注意加上 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

    代码质量管控
    
    在代码质量管控这块我们可以采用sonar去做
    

    image.png image.png

    这块没啥,安装好后,如果是meaven项目,直接运行mvn命令(ip,令牌什么的自行替换)

    mvn sonar:sonar -Dsonar.host.url=http://x.x.x.x:9000 -Dsonar.login=xxxxxxxxxxxxxxxxxxxxxx

    安装的话,不能以root启动,汉化也是直接安装插件
    
    安全审计
    在安全这块,工具还是挺多的。既然是做安全,那可能就是多个工具一起使用,尽可能的规避安全风险。例如Burp Suite,ZAP等(其他工具有点小贵,就不提了)
    
    zap大概长这个样子,左边有了网站后就可以渗透测试了
    注意:渗透测试的时候一定先获取授权,不然被当黑客抓了就不好了
    

    image.png

    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中配置相应的模版,以后把需要检查的机器配置该模版
    

    链接:https://www.jianshu.com/p/d68285227ea2

    2019-11-04 18:18:36
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
《从DevOps到云原生DevOps(云效出品)》 立即下载
从DevOps到BizDevOps 立即下载
云效平台连同飞天敏捷版共同打造企业DevOps解决方案 立即下载