首页 文章 精选 留言 我的

精选列表

搜索[自动装配],共10000篇文章
优秀的个人博客,低调大师

恩智浦S32 vs 英伟达Pegasus,谁的自动驾驶“大脑”将会从中胜出?

雷锋网按:10月16日,荷兰半导体供应商恩智浦推出了“全球首个完全可扩展计算架构S32”,主要面向OEM和Tier 1供应商。它可以实现节点、软件和通用功能在汽车不同域、应用和SoC之间的重复利用,以应对目前电动化、智能化、互联化三大趋势发展带来的挑战。 作为全球领先的汽车芯片供应商,恩智浦希望通过S32计算平台解决当今汽车发展领域最棘手的问题:一些软件和应用太过复杂而不能实现融合,或者太过分散而不能跨平台操作。 不过从现在到2018年下半年之前,还不会有任何基于该平台打造的芯片产品出现。相比于2016年发布的BlueBox系统,S32有了不小进步。如果说BlueBox“连通公司所有销售设备”的话,那么恩智浦则将这种连通性提高了一倍。 恩智浦高级副总裁兼产品线、软件汽车MCU和处理器总经理Matt Johnson表示,现有的汽车平台兼容

优秀的个人博客,低调大师

Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(2)

实现上面目的,大概有三种实现方式: GitLab Runner 不运行在 Docker 容器中:Executor 选择shell(本地运行),然后在本服务器上安装 .NET Core 和 Docker 环境,.gitlab-ci.yml中执行dotnet编译发布和docker构建发布脚本,将构建的镜像推送到 Docker 私有仓库,然后 SSH 连接到服务器,拉取镜像并创建相应容器,最后启动容器,完成发布和部署。 GitLab Runner 运行在 Docker 容器中:Executor 选择shell(GitLab Runner 容器中运行),然后进入 GitLab Runner 容器,在上面安装 .NET Core 和 Docker 环境,.gitlab-ci.yml中执行dotnet编译发布和docker构建发布脚本,后面同上操作。 GitLab Runner 运行在 Docker 容器中:Executor 选择docker(指定镜像容器中运行),需要自定义构建一个包含 .NET Core 和 Docker 环境的镜像,构建脚本执行在自定义镜像容器中,.gitlab-ci.yml中执行dotnet编译发布和docker构建发布脚本,后面同上操作。 上面三种方式,最简单的是第一种,第二种和第三种比较类似,实现稍微复杂点,我也没有配置成功,下面分别说下。 1. GitLab Runner 运行在 Docker 容器中 第二种和第三种实现方式,放在一块说,如果 Executor 选择shell,然后我们需要在 GitLab Runner 容器中配置编译环境,但这样会产生一个问题,就是如果我们是升级 GitLab Runner 的时候,需要重新配置编译环境,实际情况是,我进入容器docker exec -it gitlab-runner bash,并没有安装成功 .NET Core 和 Docker 环境(各种服务器中没出现的问题,而且速度非常慢),其实,还有一种方式,就是在.gitlab-ci.yml中执行安装 .NET Core 和 Docker 环境的脚本(检查是否安装),不过,编写是有些问题,这个我没进行尝试。 如果 Executor 选择docker,其实,这样会嵌套很多容器,首先服务器上运行 GitLab Runner 容器,然后在此容器内,运行另外一个构建容器,然后在此容器内,执行构建和发布操作,因为 GitLab Runner 在每次构建的时候,会创建和运行一个新的构建容器,所以,我们不能直接在这个容器中,配置 .NET Core 和 Docker 环境,也不能在.gitlab-ci.yml中执行安装,因为每次都会覆盖之前的操作,唯一的解决方式,就是自定义构建一个包含 .NET Core 和 Docker 环境的镜像文件,然后每次构建使用它进行创建对应容器,执行构建和发布脚本即可。 这里说下,自定义构建一个包含 .NET Core 和 Docker 环境的镜像文件,两种方式: docker build -t 139.219.65.81:5000/xishuai-gitlab-ci-build .:在Dockerfile文件编写安装环境脚本。 docker commit microsoft-aspnetcore 139.219.65.81:5000/xishuai-gitlab-ci-build:使用一个容器,然后在容器中安装环境,最后基于这个容器,创建一个自定义镜像文件 第一种方式,我没有进行尝试,第二种方式尝试了下,我使用microsoft/aspnetcore镜像作为基础镜像(800M 左右),然后在其创建的容器中安装 Docker 环境,速度非常慢,而且有时候报各种奇怪的错误,如果安装成功了,左右构建的自定义镜像文件,也非常的大。 这两种方式,我最后都没有采用,最后使用的是下面最简单的方式。 2. GitLab Runner 不运行在 Docker 容器中(Executor 选择 Shell) 如果我们不使用 Docker 安装和运行 GitLab Runner,就得手动进行安装和配置下 GitLab Runner。 安装命令: $ sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-ci-multi-runner-linux-amd64 然后进行给予其权限: $ sudo chmod +x /usr/local/bin/gitlab-runner 接着就可以进行注册 GitLab Runner 了,命令: $ sudo gitlab-runner register 示例配置: 配置好之后,我们需要添加一个用于跑 GitLab Runner 的gitlab-runner用户,命令: $ sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash 然后指定 GitLab Runner 执行的用户和工作目录,命令: $ sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner 配置好之后,我们可以从配置文件中,查看相关配置信息: $ cat /etc/systemd/system/gitlab-runner.service [Unit] Description=GitLab Runner After=syslog.target network.target ConditionFileIsExecutable=/usr/bin/gitlab-ci-multi-runner [Service] StartLimitInterval=5 StartLimitBurst=10 ExecStart=/usr/bin/gitlab-ci-multi-runner "run" "--working-directory" "/home/gitlab-runner" "--config" "/etc/gitlab-runner/config.toml" "--service" "gitlab-runner" "--syslog" "--user" "gitlab-runner" Restart=always RestartSec=120 [Install] WantedBy=multi-user.target 上面工作完成之后,就可以启动 GitLab Runner 了,命令: $ sudo gitlab-runner start 然后,我们就可以在项目中看到 GitLab Runner 了,示例: 另外,我们还需要做一些其他工作,来保证 GitLab Runner 可以正常运行。 两台服务器需要配置的环境: GitLab Runner 服务器:.NET Core 2.0、Docker、Docker 私有仓库(或者其他服务器)、SSH 测试服务器:Docker 首先,我们需要创建一个 Docker 私有仓库,用于存放程序生成的镜像,这个最好是配置在一个单独的服务器,配置详见:Ubuntu Docker Registry 搭建私有仓库 通过下面两个连接,查看 Docker 私有仓库中的镜像: http://139.219.69.172:5000/v2/_catalog http://139.219.69.172:5000/v2/hwapp/tags/list 然后,我们需要把 GitLab Runner 服务器中的gitlab-runner账户,添加到docker用户组中,命令: $ sudo usermod -aG docker gitlab-runner 否则会报如下错误: 然后,我们在 GitLab Runner 服务器中,切换到gitlab-runner用户下,配置 SSH,命令: $ su gitlab-runner $ ssh-keygen -t rsa -P '' $ ssh-copy-id root@139.219.69.172 139.219.69.172是测试服务器的 IP 地址,如果不进行这样配置,SSH 连接的时候,会报如下错误: 原因是,GitLab Runner 在执行脚本的时候,会切换到gitlab-runner用户下,我们在root账户下配置 SSH,是无效的。 以上工作完成之后,GitLab Runner 执行编译脚本,基本上执行是没有问题了,我们在示例项目中添加.gitlab-ci.yml配置文件,示例: stages: - build - deploy_dev build_job: stage: build only: - master script: - dotnet restore - dotnet build deploy_dev_job: stage: deploy_dev environment: name: development only: - master script: # 发布程序并部署运行 - dotnet publish -c Release --output bin/publish - docker build -t $GITLAB_SERVER:5000/hwapp . - docker push $GITLAB_SERVER:5000/hwapp - ssh root@$DEPLOY_SERVER_DEV "docker pull $GITLAB_SERVER:5000/hwapp && docker run -d -p 5001:5001 $GITLAB_SERVER:5000/hwapp" build_job执行效果: deploy_dev_job执行效果: 然后,我们在测试服务器上,就可以看到创建和运行的容器了: 浏览器打开http://139.219.110.30:5001/api/values,查看效果: 本文转自田园里的蟋蟀博客园博客,原文链接:http://www.cnblogs.com/xishuai/p/ubuntu-gitlab-ci-docker-aspnet-core-part-2.html,如需转载请自行联系原作者

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册