容器化部署持续交付
1,课程导学
snapshot 是开发版本
release 是发布版本
2,如何持续集成
计划—>代码—>构建(敏捷开发)—>测试(持续集成)—>发布(持续交付)—>部署(持续部署)—>运维(devOps)
jenkins—>ansible—>Vault—>不同环境
发布
灰度(蓝绿发布)
先一小部分用户体验新版本
金丝雀发布
部署25%的机器,根据监控数据决策是否进一步部署
开关功能
前后端功能没对接功能可用开关控制后先部署
3,需求任务管理
使用Jira创建Sprint,用户故事和任务
敏捷项目管理和Jira
release(月)
sprint(周)
issue(问题)
epic(史诗)
story(用户故事)
task(任务)
bug(故障)
创建Sprint(冲刺)
sprint需要关联带开发的任务
sprint需要被关联到某一个release
创建用户故事
定义用户故事的类型
定义用户故事的内容描述
分配给某个开发者
创建任务,并分配给工程师
将任务与用户故事关联
将任务放入sprint中
任务的排期和追踪
查看release版本信息
查看release任务
为任务预估story point
工作量
复杂度
风险和不确定性
查看sprint
查看sprint各个任务的进度
创建任务燃尽图
每日站会如何开
昨天做了什么,今天要做什么,有什么阻塞问题,需要什么帮助
docker 安装jira
# 创建jira数据库及用户
CREATE DATABASE jira CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
– grant all on jira.* to ‘xingyue’@’%’ identified by ‘xingyue5201314’;
CREATE USER ‘xingyue’@’%’ IDENTIFIED BY ‘xingyue5201314’;
GRANT ALL PRIVILEGES ON . TO ‘xingyue’@’%’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
外部数据库不支持mac?
BXDU-FV6Z-M92X-UKSP
java -jar atlassian-agent.jar -d -m [email protected] -n XINGYUE -p jira -o http://127.0.0.1 -s BXDU-FV6Z-M92X-UKSP
基础url设置为服务器域名
AAABpA0ODAoPeJyNkltvm0AQhd/5FUh9hsBatrGlldoAqWgBR8VEbt7WeBw2wguZXZy4v77LJWoul
lXxtGjOmTPfzJd12Zo/2sp0PNOdLqfTJZmYfrY2iUNc4wEBRFk3DaAd8wKEhPWpgZQdgPqrJAl/+
dG32PARmOK1CJgC2gktZ245nnFBEoAskDediuai4geuYGdWg8DcnsxSqUYur67+lLwCm9dGwrhQI
JgoIHxpOJ7Gbt6i7zY3Hjmy15Thjg/WaRwl0ToMjLQ9bAFX+1wCSmq5r+EueDVY79pC2d3DkvVeP
TME+5PRhVpWKH4EqrCFdyzf/r8g16mYD3pqHEpHPHe6cTccMbJ2+w9jXxIeWdX2y6B7VsnR/qPRC
h+Y4HKo60hr0C6Z247+XMOvhdIJQ028oqfnrevY3tenJ7uoD4PdeQT/OVSmGHZBhnjjFqKAxlGQh
akVuzMynU+cBZl4M/JuqefuKAM8Amr59SbIrZu72b2VLMjGyn9mt+fO9/Nh3LZYlEzCx+N9K+7RN
cjlOJ4OSs+EHcH1GTdR+v13Hv4Fk+MmzzAsAhRqqTdSUSdJDRNvtf78BYocWMNOxQIUdj8qft24g
mIK/nfjionIuhzFLIU=X02k8
在开发工具里继承jira插件
在idea里继承jira插件
jira integration
Tasks
Servers
在idea里快速获取自己的开发任务
通过插件创建分支,开发代码
提交代码并更改jira任务状态
gitflow vs Trunk base 分支模型哪个更适合团队
gitflow 是一种分支开发模型
master 线上分支
develop 开发主分支
所有分支最后都需要合并到develop分支
feature 功能分支
分支名称 feature-*
release 发布分支
分支名称 release-*
hotfix 功能修复分支
分支名称 hotfix-*
适用场景
软件本身对稳定性要求高
团队少量资深研发,多数初,中级研发
开源项目
功能开关
主干开发分支模型
适用场景
软件本身迭代较快
团队中级,资深研发较多,初级研发较少
互联网产品
开发一个springboot 项目
创建springcloud服务注册中心
依赖/注解/配置
在服务应用前端加上网关
springcloud zuul 网关用法
zuul:
routes:
guestbook:
path: /**
serviceId: guestbook-service
zuul:
routes:
guestbook:
path: /**
uri: http://service:8080/guestbook/
服务链路追踪zipkin
docker run --name zipkin -d -p 9411:9411 openzipkin/zipkin
应用添加配置
spring:
zipkin:
base-url: http://localhost:9411
搭建maven私服
搭建JFrog Artifactory OSS 开源版
创建Maven仓库
配置Maven连接到Arifactory
搭建JFrog Artifactory OSS 开源版
使用docker
export JFROG_HOME=/Users/xingyue/.jfrog/JFROG_HOME
docker run -d --name artifactory-oss-6.18.1 -v /Users/xingyue/Home/xingyue/学习/工程化/artifactory:/var/opt/jfrog/artifactory -p 8083:8081 docker.bintray.io/jfrog/artifactory-oss:6.18.1
注意使用ip访问
默认用户名/密码 admin/password
maven仓库结构
开发者 —> git —> jenkins(service) —> artifactory(local/remote —> JCenter)
进入界面Artifact Repository Browser
1,使用虚拟仓库libs-release
新建远程仓库,新建本地仓库,新建虚拟仓库(将本地和远程一起添加)
2,生成settings.xml文件,替换到maven的settings.xml文件
发布应用到maven私服
artifact repsitory browser —> set me up
central
6091d7823a79-releases
http://localhost:8083/artifactory/libs-release
mvn deploy
元数据打标签 properties
命名规范
面板 admin —> layouts
[orgPath]/[module]/baseRev/[module]-baseRev(-[classifier]).[ext]
使用curl下载制品包 右上角用户信息 —> edit profile
输入账号密码
AKCp8jQwoLZzCKty5URqP3AVXS6VeVtrmbBgyb4oH1APHFM8pureZ1h7GkrCFobaJ3ZpkqNXf
curl -u admin:AKCp8jQwoLZzCKty5URqP3AVXS6VeVtrmbBgyb4oH1APHFM8pureZ1h7GkrCFobaJ3ZpkqNXf http://localhost:8083/articactory/li