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

建立网站数据库实验报告怎么运行自己做的网站

建立网站数据库实验报告,怎么运行自己做的网站,关键词优化资讯,广西的网络公司目的通过GitHub的Actions来(白嫖)部署.Net服务到阿里云服务器。环境准备需要一个阿里云服务器并且该服务器还安装了docker环境#xff0c;如果环境安装不清楚可以查看之前的文章。创建镜像仓库在阿里云的容器镜像服务中#xff0c;创建一个镜像仓库用来存储我们测试的镜像如果环境安装不清楚可以查看之前的文章。创建镜像仓库在阿里云的容器镜像服务中创建一个镜像仓库用来存储我们测试的镜像这里我提前创建仓库为myexample地址为registry.cn-hangzhou.aliyuncs.com/zrng/myexample。准备项目文件本文主要讨论GitHub的Action功能所以项目文件直接使用之前示例代码在Github创建仓库my-example该仓库的代码使用之前的代码(仓库地址为https://gitee.com/AZRNG/my-example)隐私信息配置在指定的仓库中选择SettingsSecretsActionsimg点击右上的新建就可以创建想要保存的隐私配置信息img这里我保存了一下镜像仓库的账号密码等信息。img仓库脚本配置在仓库的根目录新建工作流文件.github/workflows/dotnet.yml(也可以在Actions选项卡中新建)我们将每次提交的项目生成测试镜像在dotnet.yml中写下面内容# 工作流名称 name: Dockeron:push: # 推送的时候触发branches: [ main ] # 推送的分支# Publish semver tags as releases.tags: [ v*.*.* ]pull_request:branches: [ main ]env:# 仓库地址REGISTRY: registry.cn-hangzhou.aliyuncs.comIMAGE_NAME: zrng/myexampleIMAGE_TAG: latestjobs:build:runs-on: ubuntu-latestpermissions:contents: readpackages: write# This is used to complete the identity challenge# with sigstore/fulcio when running outside of PRs.id-token: writesteps:# 将远程仓库中的源代码领取到workfile自动化构建脚本运行的服务器- name: Checkout repositoryuses: actions/checkoutv3 # Login against a Docker registry except on PR# https://github.com/docker/login-action- name: login to ${{ env.REGISTRY }}if: github.event_name ! pull_requestuses: docker/login-action28218f9b04b4f3f62068d7b6ce6ca5b26e35336c # 用于登录docker以便我们后续上传镜像到自己的镜像仓库with:registry: ${{ env.REGISTRY }}username: ${{ secrets.USERMAME }} # 镜像仓库用户名password: ${{ secrets.PASSWORD }} # 镜像仓库密码# 生成和推送镜像  阿里云镜像仓库推送有问题# # https://github.com/docker/build-push-action# - name: Build and push Docker image#   id: build-and-push # 构建docker镜像推送到自己的docker镜像仓库#   uses: docker/build-push-actionac9327eae2b366085ac7f6a2d02df8aa8ead720a#   with:#     registry: ${{ env.REGISTRY }}#     username: ${{ secrets.USERMAME }} # 镜像仓库用户名#     password: ${{ secrets.PASSWORD }} # 镜像仓库密码#     push: ${{ github.event_name ! pull_request }}#     tags: ${{env.IMAGE_NAME}}:${{env.IMAGE_TAG}}.${{ github.run_id }}.${{ github.run_number }} #动态变量镜像TAG 使用github运行job和jobid设置tag#     context: . # 相对以远程仓库根路径的dockerfile的路径#     file: ./NetByDocker/Dockerfile # 指定Dockerfile- name: Build the Docker imagerun: |docker version# 登录阿里云镜像仓库docker login --username${{ secrets.USERMAME }} --password${{ secrets.PASSWORD }} registry.cn-hangzhou.aliyuncs.com# 使用Dockerfile构建镜像  ${{env.IMAGE_TAG}}.${{ github.run_id }}.${{ github.run_number }}docker build . --file NetByDocker/Dockerfile --tag registry.cn-hangzhou.aliyuncs.com/zrng/myexample:${{env.IMAGE_TAG}} --tag registry.cn-hangzhou.aliyuncs.com/zrng/myexample:${{ github.run_number }}# 推送镜像到镜像仓库docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{env.IMAGE_TAG}}docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.run_number }}# 列出所有镜像    - name: Docker Images Lst run: docker images本来在推送镜像的时候我们可以直接build-and-push来推送但是推送到阿里云仓库有问题我百度说是阿里云仓库必须写前面镜像地址等信息所以没成功所以换用其他方式来实现上文中涉及的dockerfile文件内容如下FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base WORKDIR /app EXPOSE 80FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build WORKDIR /src COPY [NetByDocker/NetByDocker.csproj, NetByDocker/] RUN dotnet restore NetByDocker/NetByDocker.csproj  # 还原项目的Nuget包 COPY . . WORKDIR /src/NetByDocker RUN dotnet build NetByDocker.csproj -c Release -o /app/build # 在发布模式下生成项目。 生成工件将写入中间映像的 app/build/ 目录。FROM build AS publish RUN dotnet publish NetByDocker.csproj -c Release -o /app/publish # 在发布模式下发布项目。 已发布的捆绑将写入最终映像的 app/publish/ 目录。FROM base AS final WORKDIR /app COPY --frompublish /app/publish . ENTRYPOINT [dotnet, NetByDocker.dll] # 启动在我们提交代码并推送中可以去github的Actions选项卡中查看img因为一些笨笨的操作错误了好多次img然后再去阿里云镜像仓库查看是否有我们推送上去的镜像img已经存在说明我们生成镜像并推送的步骤成功了也可以通过以下命令拉取到docker pull registry.cn-hangzhou.aliyuncs.com/zrng/myexample:latest部署镜像我们需要让推送成功后在我们的阿里云服务器上拉取镜像并启动那么先增加服务器的地址、账号、密码、端口等变量img再修改dotnet.yml文件在最后追加内容# 列出所有镜像     - name: Docker Images Lst  run: docker images- name: executing remote ssh commands using password uses: appleboy/ssh-actionmaster with:host: ${{ secrets.SERVERHOST }}username: ${{ secrets.SERVERUSERNAME }}password: ${{ secrets.SERVERPASSWORD }}port: ${{ secrets.SERVERPORT }}script: docker run --name netsample -d -p 8002:80 registry.cn-hangzhou.aliyuncs.com/zrng/myexample我本来是按照上面这方案走的结果还得考虑到停止并删除容器以及删除镜像拉取最新的镜像所以我索性直接使用docker-compose去处理了我在服务器的/root/net目录放了一个docker-compose文件内容如下version: 3.4services: netsample:container_name: netsampleimage: registry.cn-hangzhou.aliyuncs.com/zrng/myexamplerestart: alwaysenvironment: - ASPNETCORE_ENVIRONMENTProductionnetworks: - my-bridgeports: - 8002:80networks: my-bridge:driver: bridge然后在dotnet.yml文件后追加- name: executing remote ssh commands using passworduses: appleboy/ssh-actionmasterwith:host: ${{ secrets.SERVERHOST }}username: ${{ secrets.SERVERUSERNAME }}password: ${{ secrets.SERVERPASSWORD }}port: ${{ secrets.SERVERPORT }}script: cd /root/net;docker-compose pull  docker-compose  up -d;然后我提交新增加的代码等工作流跑结束后img访问我们项目的swagger(http://IP:8002/swagger/index.html)页面(前提是阿里云服务器的端口安全组已经设置)既可以看到下面的效果img登录服务器后查看镜像版本也是我们刚刚推送的镜像。总结本文完整介绍了如何使用Github Actions做CICD将ASP.NET Core 6.0 程序的main分支打包并部署到阿里云Linux服务器。如果想在每次dev提交代码后自动生成服务(不再推送镜像仓库)那么可以稍稍修改上面的脚本使用appleboy/ssh-actionmaster进入某一个目录(提前拉取好项目的目录)然后构建镜像生成容器。资料本文完整代码可以查看仓库https://gitee.com/AZRNG/my-example完整的dotnet.yaml文件可以查看https://gitee.com/AZRNG/my-example/blob/master/.github/workflows/dotnet.yml
http://wiki.neutronadmin.com/news/302865/

相关文章:

  • 开一家网络公司做网站前景如何雄安专业网站建设电话
  • 网站设计参考常州微网站建设
  • 网站建设的7种流程贵州网站制作哪家好
  • 公司经营范围 网站开发wordpress图片简码
  • 网站商城制作费用市场营销策划
  • 前端网站搜索导航怎么做怎样注册网店开网店
  • 网站小视频怎么做代理商益阳网络推广
  • 手机网站制作设计广州网站优化指导
  • 自驾游网站建设方案哈尔滨cms网站建设
  • 整站优化系统网站h1标签用在哪里
  • 网站建设所需凡科网站做的作品如何发布
  • 汉语国际网站建设竞价推广账户托管
  • 移动网站怎么建设哈尔滨模板建站软件
  • 怎样建设网站免费上海家装口碑最好的公司
  • 莱州网站建设关键字排名优化网络托管微信代运营古镇网站建设哪家好
  • 网站系统建设项目如何建设网站赚钱
  • 国外html5做网站扁平式网站源码
  • 推进网站集约化建设的做法成都百度推广公司电话
  • 免费网站建设翻译明企科技网站建设系统
  • 企业 网站 制作如何做一个导航网站
  • 贵州省住房和城乡建设局网站做网站还要维护吗
  • 网站建设企业的市场分析中国空间站扩建
  • w微信网站开发网站的策划建设方案书
  • wordpress修改站点名哈尔滨电商设计企业
  • 优化网站排名软件网站办事服务建设情况
  • 用ps做企业网站分辨率是多少洛阳做网站多少钱
  • 网站怎么做要多少钱做车品的网站
  • 网站怎么自适应屏幕大小wordpress网站名
  • dw5怎样做网站网站建设及域名申请 厦门
  • 深圳开发网站的公司哪家好做网站生意买螃蟹