● 源码管理Gitlab
● 持续集成Jenkins
● 代码扫描SonarQube
● 接口测试PostMan+NewMan
● 制品管理ArtifactoryOSS版本(仅支持Maven)
● 自动部署Ansible node
vim /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] name=gitlab-ce baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6 Repo_gpgcheck=0 Enabled=1 Gpgkey=https://packages.gitlab.com/gpg.key sudo yum makecache sudo yum intall gitlab-ce sudo gitlab-ctl start # 启动全部 gitlab 组件; sudo gitlab-ctl stop # 中止全部 gitlab 组件; sudo gitlab-ctl restart # 重启全部 gitlab 组件; sudo gitlab-ctl status # 查看服务状态; sudo gitlab-ctl reconfigure # 启动服务; sudo vim /etc/gitlab/gitlab.rb # 修改默认的配置文件; gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab; sudo gitlab-ctl tail # 查看日志
访问http://localhost
会跳转到让你修改密码的网页 2-3mysql
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key yum install -y jenkins systemctl start jenkins
访问:localhost:8080
初始密码在:/var/lib/jenkins/secrets/initialAdminPassword git
#使用Docker安装 #下载启动Mysql使用Docker docker run --name mysql5.7 -v /data/mysql5.7-data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 #进入容器 docker exec -it mysql5.7 bash #进入数据库 mysql -uroot -p123456 #建立数据库及受权 create database db_sonar character set utf8 collate utf8_general_ci; flush privileges; grant all privileges on db_sonar.* to 'sonar'@'%'identified by 'sonar' with grant option; flush privileges; #查看容器IP地址 cat /etc/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 172.17.0.2 ec7039cd8020 #下载并启动SonarQube docker run -d --name sonar -p 9000:9000 -p 9092:9092 -v /data/sonar/conf:/opt/sonarqube/conf -v /data/sonar/data:/opt/sonarqube/data -v /data/sonar/logs:/opt/sonarqube/logs -v /data/sonar/extensions:/opt/sonarqube/extensions -e "SONARQUBE_JDBC_USERNAME=sonar" -e "SONARQUBE_JDBC_PASSWORD=sonar" -e "SONARQUBE_JDBC_URL=jdbc:mysql://172.17.0.2:3306/db_sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false" sonarqube:6.7.5
安装NodeJS
注意: 若是已经安装NodeJS能够跳过此步
下载地址:https://nodejs.org/en/download/
下载 “Linux Binaries (x64)” sql
下载完解压之后配置环境变量NODE_HOME 和PATH
安装Newman
在Jenkins的slave节点安装Newman:
npm install -g newman
安装Postman
下载地址:https://www.postman.com/downloads/
安装在windows或者带UI的Linux机器
安装文档:https://learning.postman.com/docs/postman/launching-postman/installation-and-updates/
导出Postman测试集合
建立集合app1
app1为当前应用的名称,能够根据实际状况定义 docker
名称填写 app1 , Authorization 选择 “Basic Auth”,并填入Artifactory的用户名密码,以下图 数据库
在Variables标签条件变量:base_url,值为artifactory“Custom Base URL”,例如: http://localhost:8081/artifactory
点击create按钮完成并保存 npm
在集合app1右键点击,弹出的request选择”Add request” json
Request name 填写 “ping”,而后点击”Save to app1”按钮 vim
Api url : {{base_url}}/api/system/ping 在Tests 标签填入一下内容: pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); pm.test("Body is correct", function () { pm.response.to.have.body("OK1"); });
这是两个测试用例,分别测试返回值是否为200,返回内容是否为“OK1”,最后同时按 Ctrl+s 保存内容 windows
在集合app1右键点击,选择“Export”
导出的名字为:“app1.postman_collection.json”
安装Artifactory OSS版本
使用Yum方法安装
wget https://bintray.com/jfrog/artifactory-rpms/rpm -O bintray-jfrog-artifactory-rpms.repo
sudo mv bintray-jfrog-artifactory-rpms.repo /etc/yum.repos.d/
sudo yum install jfrog-artifactory-oss
初始帐号和密码为:admin/password,登陆成功后能够看到如下界面
其余安装方法可参考以下连接:
https://www.jfrog.com/confluence/display/RTF6X/Installing+on+Linux+Solaris+or+Mac+OS
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install ansible
工具链使用要点
更多精彩内容请微信搜索公众号: jfrogchina
更多技术分享能够关注2月25日在线课堂:《深刻解析Deployment》
课程介绍
Kubernetes以其先进的理念、活跃的社区,已成为当前容器集群化编排、部署和运行的事实标准。愈来愈多的企业和团队将Kubernetes引入了本身的研发和生产环境。
Deployment是Kubernetes上最经常使用的对象,用与建立和管理无状态Pod对象的集群,并实现集群自动化的扩容、缩容和升级等运维工做。要想应用好Deployment对象,首先要充分了解和熟悉Deployment的原理、机制和应用方式。
本期将深刻、细致地分析Deployment的设计原则和运行机制,并经过实操演示的方式,来说解Deployment如何实现对于Pod集群的自动化管理工做。
课堂收益
经过本期的讲解和演示,可以帮助你们深刻理解Deployment的内部机制,熟悉Deployment的应用方式,掌握Deployment实现Pod集群自动化扩容、缩容和升级等运维的工做机制,使得你们可以在实际工做中更好的应用和管理Deployment对象。
本期话题
1 Deployment的定义和组成
2 Deployment实现自动化运维的工做原理
3 实操演示Deployment的应用方式
课堂活动
本期课堂讲师会在结束前进行抽奖活动
第一名:小爱音响
第二名:JFrog新版T恤