GCP reliable google cloud infrastructure, devops lab

最后更新2022/03/13

先到menu source repository里建立repository,还是不很好找,source repository在CI/CD分类里面。

点右上角的add repository按钮,输名字devops-repo,选择好对应的project就创建完了,然后开个cloud shell,clone一下repository:
gcloud source repos clone devops-repo

然后用cloud console提供的edit,在devops-repo目录下搞个main.py的文件,实验中用的是python flask的web server example

再搞一个templates子目录,把index.html和layout.html放进去,这个是网页;

把requirements.txt放到devops-repo,这个是运行python需要的依赖,里面有flask和itsdangerous版本要求信息

然后回shell,在devops-repo执行add,把所有文件添加到git跟踪里面:
git add --all

配置一下git全局信息,只需要一次:
git config --global user.name “Harry”
git config --global user.email “xxxx.xxxx”

commit(这是local commit):
git commit -a -m “init commit”

再push到repository:
git push origin master

这时在repository web就能看到新添加的各个文件和目录结构了。

下一个,再搞个Dockerfile,用于docker build:
FROM python:3.7
WORKDIR /app
COPY . .
RUN pip install gunicorn
RUN pip install -r requirements.txt
ENV port=80
CMD exec gunicorn --bind :PORT --workers 1 --threads 8 main:app

据说gunicorn是web server,那和flask有啥区别呢?可能,flask是web frame,但本身并非server,需要一个web server提供基础支持,以后再研究,其它的都一看便知,必须的。

build一下docker:
gcloud builds submit --tag gcr.io/$DEVSHELL_PROJECT_ID/devops-image:v0.1 .

gcr.io/$DEVSHELL_PROJECT_ID就是在repository创建的时候自动生成的目录,用于存放build的devops-image文件。然后在cloud console container registory page应该能看到生成的文件。container registory还是很难找,在CIDI分类里。

下面要创建个承载docker的vm,和创建普通vm一样,但是有一个container一项,要增减内容,点进去之后image要选刚才生成的devops-image

再到cloud build(还在CI/DI子菜单里),看看build history,应该有一个新的entry,下面做个trigger,这样以后就自动build,不用每次手动了:
点trigger,此时应该是空的;
右侧上面有manage repositories,会显式可用的repositories
在对应的repository右边有三个竖点,点一下能看到add trigger选项,加一个。
填完trigger名字之后,在下面有Source->Branch,选.* any branch,这样就不会单独只build master(缺省)
再往下,Configuration里面有type,选Dockerfile

其它都是缺省,然后create,再run一下验证,然后回到history看执行行情况,注意,这个run test可能不成功,因为刚才已经有了一个build,也就是文件存在了,看详细的trigger执行可以看到问题所在。

再执行一下commit和push,然后看trigger history,这时候挥发先trigger成功被触发,并执行成功。

查看具体execute detail,能看到生成的image地址,把这个加到新创建vm的container image里面(不是boot disk那个,有单独container一大项),理论上就可以deploy了,但我做室验没成功,时间太紧,以后再找机会,再搞一次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ensighine

如需特定专题,踢我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值