当前位置: 首页 > news >正文

seo怎么做自己的网站网站构成的作用

seo怎么做自己的网站,网站构成的作用,如何实现一个制作好的网站,宿迁seo公司Azure DevOps非常好用#xff0c;但是为代理准备单独的服务器经常会显得性价比不高#xff1a;配置低了#xff0c;前端构建时会教会你做人#xff0c;配置太高又有点浪费资源#xff0c;代理数量少了各团队构建要打架。对于既想享受DevOps的美妙之处但是资源捉襟见肘的小…Azure DevOps非常好用但是为代理准备单独的服务器经常会显得性价比不高配置低了前端构建时会教会你做人配置太高又有点浪费资源代理数量少了各团队构建要打架。对于既想享受DevOps的美妙之处但是资源捉襟见肘的小公司真是一件比较头痛的事情。那么有没有更具备性价比的方案呢那自然是有的那就是基于Docker进行自托管。这里不建议大家丢k8s集群里面去一是会抢资源二是k8s容器运行时不推荐大家使用docker三是不安全。那么现在我们就可以准备一台好点的服务器来基于Docker来托管自有的Azure DevOps代理。编写Dockerfile废话不多建议大家直接抄代码吧FROM ubuntu:20.04 RUN DEBIAN_FRONTENDnoninteractive apt-get update RUN DEBIAN_FRONTENDnoninteractive apt-get upgrade -yRUN DEBIAN_FRONTENDnoninteractive apt-get install -y -qq --no-install-recommends \apt-transport-https \apt-utils \ca-certificates \curl \git \iputils-ping \jq \lsb-release \software-properties-common \gss-ntlmsspRUN curl -sL https://aka.ms/InstallAzureCLIDeb | bash# Can be linux-x64, linux-arm64, linux-arm, rhel.6-x64. ENV TARGETARCHlinux-x64WORKDIR /azp COPY ./start.sh . COPY ./vsts-agent-linux-x64-2.181.2.tar.gz . RUN chmod x start.shENTRYPOINT [ ./start.sh ]如果对Dockerfile不理解可以参考笔者之前的教程、博客和书籍《DockerKubernetes应用开发与快速上云》来解决问题以及查看日志。这里不建议大家使用官方教程基本上走不通还问题颇多。值得注意的是上面涉及到了两个文件start.shvsts-agent-linux-x64-2.181.2.tar.gz从Azure DevOps管理界面下载start.sh脚本内容参考如下#!/bin/bash set -eif [ -z $AZP_URL ]; thenecho 12 error: missing AZP_URL environment variableexit 1 fiif [ -z $AZP_TOKEN_FILE ]; thenif [ -z $AZP_TOKEN ]; thenecho 12 error: missing AZP_TOKEN environment variableexit 1fiAZP_TOKEN_FILE/azp/.tokenecho -n $AZP_TOKEN $AZP_TOKEN_FILE fiunset AZP_TOKENif [ -n $AZP_WORK ]; thenmkdir -p $AZP_WORK fiexport AGENT_ALLOW_RUNASROOT1cleanup() {if [ -e config.sh ]; thenprint_header Cleanup. Removing Azure Pipelines agent...# If the agent has some running jobs, the configuration removal process will fail.# So, give it some time to finish the job.while true; do./config.sh remove --unattended --auth negotiate --userName build --password $(cat $AZP_TOKEN_FILE) breakecho Retrying in 30 seconds...sleep 30donefi }print_header() {lightcyan\033[1;36mnocolor\033[0mecho -e ${lightcyan}$1${nocolor} }# Let the agent ignore the token env variables export VSO_AGENT_IGNOREAZP_TOKEN,AZP_TOKEN_FILEprint_header 1. Determining matching Azure Pipelines agent...print_header url$AZP_URL/_apis/distributedtask/packages/agent?platform$TARGETARCHtop1# AZP_AGENT_PACKAGES$(curl -LsS \ # -u user:$(cat $AZP_TOKEN_FILE) \ # -H Accept:application/json; \ # $AZP_URL/_apis/distributedtask/packages/agent?platform$TARGETARCHtop1)AZP_AGENT_PACKAGES$(curl -LsS \--ntlm \-u build:$(cat $AZP_TOKEN_FILE) \-H Accept:application/json; \$AZP_URL/_apis/distributedtask/packages/agent?platform$TARGETARCHtop1)print_header $AZP_AGENT_PACKAGESAZP_AGENT_PACKAGE_LATEST_URL$(echo $AZP_AGENT_PACKAGES | jq -r .value[0].downloadUrl)# print_header 1.2 AZP_AGENT_PACKAGE_LATEST_URL$AZP_AGENT_PACKAGE_LATEST_URL...if [ -z $AZP_AGENT_PACKAGE_LATEST_URL -o $AZP_AGENT_PACKAGE_LATEST_URL null ]; thenecho 12 error: could not determine a matching Azure Pipelines agentecho 12 check that account $AZP_URL is correct and the token is valid for that accountexit 1 fiprint_header 2. extracting Azure Pipelines agent...tar zxf ./vsts-agent-linux-x64-2.181.2.tar.gz wait $! #curl -LsS $AZP_AGENT_PACKAGE_LATEST_URL | tar -xz wait $!source ./env.shprint_header 3. Configuring Azure Pipelines agent..../config.sh --unattended \--agent ${AZP_AGENT_NAME:-$(hostname)} \--url $AZP_URL \--auth negotiate \--userName build \--password $(cat $AZP_TOKEN_FILE) \--pool ${AZP_POOL:-Default} \--work ${AZP_WORK:-_work} \--replace \--acceptTeeEula wait $!print_header 4. Running Azure Pipelines agent...trap cleanup; exit 0 EXIT trap cleanup; exit 130 INT trap cleanup; exit 143 TERMchmod x ./run.sh# To be aware of TERM and INT signals call run.sh # Running it with the --once flag at the end will shut down the agent after the build is executed ./run.sh $ wait $!当然大家也可以直接使用我已经做好了的镜像ccr.ccs.tencentyun.com/xinlai/tfsagnet:latest这样代码都不用抄了多省事。相关环境变量如下所示环境变量说明AZP_URLAzure DevOps 或Azure DevOps Server实例的 URL。AZP_TOKEN密码。PAT认证有问题被我改成了negotiate认证。AZP_AGENT_NAME代理名称 (默认值容器主机名) 。AZP_POOL代理池名称 (默认值 Default) 。AZP_WORK工作目录 (默认值 _work) 。在Docker中运行参考脚本docker run -e AZP_URLAzure DevOps instance -e AZP_TOKEN密码 -e AZP_AGENT_NAMEmydockeragent ccr.ccs.tencentyun.com/xinlai/tfsagnet:latest但是现在的构建离不开Docker那么Docker in Docker我们肯定是需要的修改后参考脚本如下所示docker run --name docker-ag \ -e AZP_AGENT_NAMEdocker-tx-ag \ -e AZP_URL\ -e AZP_TOKEN密码 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /usr/bin/docker:/usr/bin/docker \ --user root \ --restartalways \ ccr.ccs.tencentyun.com/xinlai/tfsagnet:latest使用portainer来管理Docker代理在一台服务器上跑了几个实例为了便于管理我们可以运行一个portainer实例来进行管理参考脚本如下docker run -d -p 80:9000 --restartalways -v /var/run/docker.sock:/var/run/docker.sock --name prtainer portainer/portainer然后我们就可以登录其Web管理界面来进行监控和管理portainer管理UI我们可以在一台服务器多跑几个Docker代理运行了之后我们可以在Azure DevOps的默认代理池看到他们定时清理基于容器构建很方便但是费空间尤其是高频次构建多运行时构建时各种悬浮镜像的存在我们可以加个定时构建任务来进行清理参考脚本如下docker system prune -a -f这样50G的系统盘一拖3个代理也是够了。最后至此整个教程到此就结束了。服务器推荐配置如下所示磁盘大小30~50G如代码文件过大可以适当增加空间以及增加自动清理的频率内存16~32G如果只构建后端代码8G也是够了但是前端构建是个黑洞很多代码构建时没个16G内存会直接原地崩溃CPU4~8核
http://www.pierceye.com/news/490014/

相关文章:

  • 专门做漫画的网站企业网站改版seo
  • 最新网站建设合同做网站在哪里添加关键词
  • 集团网站开发多少钱做网站不难吧
  • 全总基层组织建设网站百度录入网站
  • 网站建设的实验步骤wordpress linux 建站教程
  • 哪个网站专门做邮轮旅游的加拿大28平台微信
  • 网站设置的用途wordpress 5.1 运行环境
  • 中小企业服务中心网站建设网站域名中文后缀
  • 龙武工会网站怎么做5173游戏交易网站源码
  • 网站建设设计时代创信好海南城乡和住房建设厅网站
  • 大连最好的做网站的公司崇义做网站
  • 圣弘建设股份有限公司网站上海图文设计有限公司
  • gta5资产网站正在建设零基础自学设计
  • 深圳专业制作网站公司吗网站信息化建设报送
  • 苏州网站建设运营推广网站一年多少钱?
  • WordPress国外主机湖北短视频seo营销
  • 南通网站建设电话设计一个网站要多少钱
  • 好的模板网站建设网站规划 时间
  • 昆明seocn整站优化网站建设如何报价
  • 网页设计模板免费网站WordPress生成网站地图
  • 做网站 侵权做外贸怎么看外国网站
  • 网站建设知识点的总结普通网站建设是什么
  • 杭州网站建设费用多少合肥高新城建设计院网站
  • 炫酷特效网站asa8.4 做网站映射
  • 郑州租赁房网站建设九江快乐城
  • 手机网站建站教育模板微信网站 教程
  • 网站的结构犀牛云做网站多少钱
  • 网站服务器用什么配置公司网站建设的视频教程
  • idea做网站网络营销与网站推广的区别
  • 建一家网站多少钱微信小程序在哪里查找