全球通讯!devops-5:从0开始构建一条完成的CI CD流水线
从0开始构建一条完成的CICD流水线前文中已经讲述了静态、动态增加agent节点,以动态的k8scloud为例,下...
2023-04-20
【资料图】
tools { maven "apache-maven-3.8.6" }这种方式是比较方便的,但是每到一个新宿主机都要去主动下载一遍,还需要在jenkins中配置下载地址和方式,迁移时也比较麻烦,所以这里就采用一劳永逸的方法,把这些环境都提前打包到agent的镜像中,方便以后使用。这里选用的基础镜像是jenkins官方的agent镜像:docker pull jenkins/agent:latest这个官方镜像内已经包含git、java环境,以及后边需要和jenkins master建立连接的agent.jar包,所以我们只需再将maven包打包进去即可。maven工具包的准备官方下载maven包:
wget https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gzmaven的配置(可选)很多java程序会用maven来进行构建,maven中又存在很多依赖组件(常用的是jar包、war包、pom等,也可把Zip包等通过POM文件定义为依赖组件),这个时候就会有一个仓库的概念,这个仓库分为三种类型,即:central:中央仓库,是由Maven社区提供的资源仓库,它包含了大量的常用程序库组件(jar包)。默认Maven的中央仓库地址为:http://repo1.maven.org/maven2/local:本地仓库,是存放maven环境本地的一个文件夹,此文件夹在第一次运行Maven命令时就创建了。Maven在执行构建任务时,根据依赖关系从中心仓库、或远程仓库下载依赖组件到本地仓库,然后本地仓库的内容供项目引用。remote:远程仓库,例如项目需要指定外部其他公司、或开源组织的jar包,这些依赖组件通用性等原因,未纳入Maven中央仓库,这个时候就要手动指定一个私有的远程仓库来拉取依赖。修改Maven中央仓库地址一般Maven的中央仓库由于网络问题会访问不到,这个时候可以修改地址为国内的Maven仓库地址或者公司私有的仓库地址,例如阿里的:http://maven.aliyun.com/nexus/content/groups/public修改步骤是要修改apache-maven-3.8.6/conf/settings.xml文件中以下字段:修改为:
若修改后未生效,可以检查代码pom.xml中是否指定了仓库地址,类似语句:nexus-aliyun central Nexus aliyun http://maven.aliyun.com/nexus/content/groups/public
修改Maven本地仓库路径Maven本地仓库路径默认为 ${user.home}/.m2/repository可以直接在此进行修改,也可以在构建时用参数指定:springsource-repos SpringSource Repository http://repo.spring.io/release/
mvn clean install -Dmaven.repo.local=/home/maven/local_repo/也可以在构建时指定配置文件地址:
mvn clean install -s /home/maven/settings.xml开始构建镜像准备好的物料包及Dockerfile:
[root@node01 agent-jenkins]# lsapache-maven-3.8.6.tar.gz Dockerfile jenkins-agent kubectl.tar.gz这里要说下jenkins-agent这个脚本文件,这个脚本文件也是官方提供的,源码文件在这里:https://github.com/jenkinsci/docker-inbound-agent,这是专门用来agent连接jenkins master的,采用的jnlp的方式。查看Dockerfile内容
[root@node01 agent-jenkins]# cat Dockerfile FROM jenkins/agent:latestUSER rootADD apache-maven-3.8.6.tar.gz /opt/ADD kubectl.tar.gz /usr/local/bin/ENV PATH $PATH:/opt/apache-maven-3.8.6/bin/COPY jenkins-agent /usr/local/bin/CMD ["/bin/sh","-c","/usr/local/bin/jenkins-agent"]用于CD环节的工具,这里添加了kubectl命令,可根据需要添加。构建镜像
# docker build -t registry.example.com:5000/jenkins/agent:v1 .# docker push registry.example.com:5000/jenkins/agent:v1registry.example.com:5000 是我的私有仓库配置k8s cloud的pod Template前边镜像准备完毕,下边要准备一个pod yaml模板,来运行每次临时加入和运行job的agent,默认情况下,k8s cloud会有一个名称为jnlp的容器专门来和jenkins master连接,然后我们可以再启动一个容器专门来跑Pipeline的job,但这里有一点要注意,如果pod中有多个容器,我们需要在Pipeline中指定某个在哪个容器中运行,这个具体怎么指定后边再说,我们这里采用覆盖截jnlp容器的方式来实现全部的工作都由一个container来完成,最终pod Template如下:
apiVersion: "v1"kind: "Pod"metadata: name: jenkins-agent namespace: "default"spec: containers: - env: - name: "MAVEN_HOME" value: "/opt/apache-maven-3.8.6/" image: "registry.example.com:5000/jenkins/agent:v1" imagePullPolicy: "IfNotPresent" name: "jnlp" resources: limits: memory: "2G" cpu: "1500m" requests: memory: "1G" cpu: "100m" volumeMounts: - mountPath: "/root/.m2" name: "m2" readOnly: false - mountPath: "/home/jenkins/agent" name: "workspace-volume" readOnly: false - mountPath: "/usr/bin/docker" name: "docker-client" readOnly: true - mountPath: "/var/run/docker.sock" name: "docker-engine" readOnly: true volumes: - hostPath: path: "/root/.m2" type: "DirectoryOrCreate" name: "m2" - hostPath: path: "/home/jenkins" name: "workspace-volume" - hostPath: path: "/usr/bin/docker" type: File name: "docker-client" - hostPath: path: "/var/run/docker.sock" type: Socket name: "docker-engine"这里有四个volume:m2:这个是用作maven的本地仓库路径,使用hostpath挂载到了本地目录,当然也可以存储到某些共享存储中,目的就是让依赖包只下载一次。workspace-volume:这个是将jenkins的工作目录也使用hostpath挂载。docker-client:docker命令的挂载,用于build、push等命令docker-engine:docker engine的挂载,用于build、push等gitlab项目克隆simple-java-maven-app项目地址:https://github.com/jenkins-docs/simple-java-maven-app,将此项目克隆到本地gitlab即可。网访问github慢的话,可以git我的码云:https://gitee.com/vfancloud/simple-java-maven-app.gitPipeline编写创建凭证1.代码仓库我们使用前边搭建的gitlab,需要提前将gitlab的用户凭证在Jenkins创建好,方便后边Jenkins下载代码使用:系统管理—>凭证管理—>创建Username with password类型凭证(id需要记住,Pipeline中会使用)2.我们的服务是部署在k8s集群中,所以还需要目标k8s的kubeconfig凭证,用来管理操控目标k8s:系统管理—>凭证管理—>创建Secret file类型凭证一般项目都会有多个环境,所以每个环境的kubeconfig凭证都要提前创建好。3.镜像仓库的账号密码也要提前准备好,Username with password类型即可。安装插件一些常用的必须插件,要提前安装:GitGit ParameterDingTalkbuild user vars pluginPipeline此Pipeline起一个示例效果,有些功能点可以省略或者选择使用,酌情增删即可:
pipeline { agent { kubernetes { cloud "kubernetes-internal" //指定cloud name inheritFrom "jenkins-agent" //指定podTemplate,新版本已经不再用label指定 namespace "default" } } environment { GIT_CERT = credentials("vfan-gitlab") //gitlab用户凭证 HARBOR_HOST = "registry.example.com:5000" SERVER_NAME = "simple-java-maven-app" }/* tools { maven "apache-maven-3.8.6" 镜像有maven环境了,可以不指定 } */ options { buildDiscarder(logRotator(numToKeepStr: "10")) //保持历史构建的最大个数 timeout(20) //默认单位分钟,20分钟 timestamps() //Pipeline开始时间以及每个step执行开始时间 } parameters { choice( name: "GIT_REPO_URL", choices: "http://10.85.122.128:880/vfan/simple-java-maven-app.git", description: "Git Repo example environment" ) choice( name: "GIT_TYPE", choices: ["branch", "tag"], description: "Git Repo example brance" ) choice( name: "GIT_REPO_BRANCE", choices: ["master", "dev", "test"], description: "Git Repo example brance" ) gitParameter name: "GIT_TAG", type: "PT_TAG", branch: "master", branchFilter: ".*", defaultValue: "", selectedValue: "TOP", sortMode: "DESCENDING_SMART", listSize: "1", description: "Select you git tag." choice( name: "ENVIRONMENT", choices: ["INT", "DEV", "PROD"], description: "Select deployment environment" ) } stages { stage("git clone branch") { when { expression { params.GIT_TYPE == "branch" } } steps { git( branch: params.GIT_REPO_BRANCE, credentialsId: env.GIT_CERT, url: params.GIT_REPO_URL ) } post { success { sh """ echo "use branch build" git status """ } } } stage("git clone tag") { when { expression { params.GIT_TYPE == "tag" } } steps { checkout([$class: "GitSCM", branches: [[name: "${GIT_TAG}"]], userRemoteConfigs: [[credentialsId: env.GIT_CERT, url: params.GIT_REPO_URL]]]) } post { success { sh """ echo "use tag build" git status """ } } } stage("Maven Build") { steps { sh "mvn -B -DskipTests clean package" } } stage("Test") { steps { sh "mvn test" } post { always { junit "target/surefire-reports/*.xml" } } } stage("Deliver") { steps { sh "./jenkins/scripts/deliver.sh" } } stage("Docker build && push") { steps { withCredentials([usernamePassword(credentialsId: "harbor-auth", passwordVariable: "HARBOR_PASSWD", usernameVariable: "HARBOR_USER")]) { sh """ echo "Other operations..." echo "Start building..." date -d "+8 hour" +%Y%m%d_%H%M%S > /tmp/date BUILD_TIME=`cat /tmp/date` docker build --build-arg APP_NAME=simple-java-maven-app -t ${HARBOR_HOST}/${SERVER_NAME}:${GIT_REPO_BRANCE}_${BUILD_TIME} . echo "Build complete." docker login $HARBOR_HOST -u $HARBOR_USER -p $HARBOR_PASSWD docker push ${HARBOR_HOST}/${SERVER_NAME}:${GIT_REPO_BRANCE}_${BUILD_TIME} docker rmi ${HARBOR_HOST}/${SERVER_NAME}:${GIT_REPO_BRANCE}_${BUILD_TIME} """ } } } stage("Deploy to k8s"){ input{ message "Should we continue deploy?" ok "Yes, we should." } environment { // 提前创建好secret file类型的凭据 KUBE_CONFIG_INT = credentials("mycluster_int") // KUBE_CONFIG_DEV = credentials("mycluster_dev") // KUBE_CONFIG_PROD = credentials("mycluster_prod") } steps{ sh""" BUILD_TIME=`cat /tmp/date` case $ENVIRONMENT in "INT") kubectl set image deployment ${SERVER_NAME} --kubeconfig=${KUBE_CONFIG_INT} app=${HARBOR_HOST}/${SERVER_NAME}:${GIT_REPO_BRANCE}_${BUILD_TIME} kubectl rollout status deployment ${SERVER_NAME} --kubeconfig=${KUBE_CONFIG_INT} ;; "DEV") kubectl set image deployment ${SERVER_NAME} --kubeconfig=${KUBE_CONFIG_DEV} app=${HARBOR_HOST}/${SERVER_NAME}:${GIT_REPO_BRANCE}_${BUILD_TIME} kubectl rollout status deployment ${SERVER_NAME} --kubeconfig=${KUBE_CONFIG_DEV} ;; esac echo "Deployment complete." """ } } } post { success{ echo "Deployment succeeded." dingtalk ( robot: "myapp-dingding-robot", type: "MARKDOWN", // 发什么类型的消息,有TEXT、LINK、MARKDOWN、和ACTION_CARD,参考https://jenkinsci.github.io/dingtalk-plugin/guide/pipeline.html at: [], atAll: false, title: "Jenkins发版成功", text: [ "## 构建结果:**${currentBuild.result}**", "---", "## 构建信息", "---", "- 项目名称:${SERVER_NAME}", "- 构建环境:${ENVIRONMENT}", "- 构建分支:${GIT_REPO_BRANCE}", "- 构建标签:${GIT_TAG}", "- 项目地址:${GIT_REPO_URL}", "- 构建用户:${env.BUILD_USER}" ], // messageUrl: "", // picUrl: "", // singleTitle: "", // btns: [], // btnLayout: "", // hideAvatar: false ) } failure{ echo "Deployment failed." dingtalk ( robot: "myapp-dingding-robot", type: "MARKDOWN", // 发什么类型的消息,有TEXT、LINK、MARKDOWN、和ACTION_CARD,参考https://jenkinsci.github.io/dingtalk-plugin/guide/pipeline.html at: [], atAll: false, title: "Jenkins发版失败", text: [ "## 构建结果:**${currentBuild.result}**", "---", "## 构建信息", "---", "- 项目名称:${SERVER_NAME}", "- 构建环境:${ENVIRONMENT}", "- 构建分支:${GIT_REPO_BRANCE}", "- 构建标签:${GIT_TAG}", "- 项目地址:${GIT_REPO_URL}", "- 构建用户:${env.BUILD_USER}" ], // messageUrl: "", // picUrl: "", // singleTitle: "", // btns: [], // btnLayout: "", // hideAvatar: false ) } }}测试运行Pipeline运行完成,钉钉也已收到通知,后续更新更多内容。
标签:
从0开始构建一条完成的CICD流水线前文中已经讲述了静态、动态增加agent节点,以动态的k8scloud为例,下...
2023-04-20
韩文玲主任医师赣南医学院第一附属医院病情分析:月经期间是不建议
2023-04-20
1、鸭蛋含有多种丰富的营养物质,如蛋白质、维生素、钙等,可以使人体及时补充这些营养物质。2、鸭蛋中...
2023-04-20
每经AI快讯,有投资者在投资者互动平台提问:请问公司募投项目,基于成套国产装备特色工艺12寸集成电路...
2023-04-20
智能轮椅作为残障人士和失去行走能力的老年人的主要交通工具,近年来发展得非常迅速。自1986年英国开始...
2023-04-20
出品:搜狐汽车2023上海车展媒体日第二天,日产旗下紧凑型SUV“全新一代逍客”正式首发亮相。作为换代车...
2023-04-20
4月16日,在鲁山县仓头乡的主街道上两边,一些门店匾额上展示的各种象形文字令不少游人驻足端详,纷纷猜...
2023-04-20
项目名称:同济大学材料科学与工程学院正置高分辨高灵敏激光共聚焦显微镜采购项目项目编号:1297-234302...
2023-04-20
4月18日,新华联公告称,公司拟计提2022年度各项减值准备共计-963,809,305 85元。本次拟计提资产减值准...
2023-04-20
智通财经APP获悉,4月20日,CounterpointResearch发布研报称,2023年第一季度,全球PC出货量为5670万台...
2023-04-20
福特科终止科创板发行注册保荐机构为民生证券
2023-04-20
钟祥牌钢结构检测鉴定项目,作为第三方钟祥牌钢结构检测机构,是致力于钢结构检测、钟祥钢结构安全检测...
2023-04-20
《华尔街日报》4月19日消息,美国佛罗里达州州长德桑蒂斯任命的一个监督委员会提出计划,旨在取消华特迪...
2023-04-20
3月份,硅谷银行、SignatureBank和Silvergate三家规模较小的银行倒闭并引发了银行业动荡。不过,从近日...
2023-04-20
1、background是“背景”的意思。以上就是【background是什么意思?,background什么意思】相关内容。
2023-04-20
中富电路(300814)04月20日在投资者关系平台上答复了投资者关心的问题。
2023-04-20
古滑坡不滑了田心大道通了
2023-04-20
近日,根据省行相关工作部署,我行参加了反洗钱专项治理推进会议,行长、副行长、“三合一”专员以及部...
2023-04-20
4月19日,睿远基金旗下三只基金披露了2023年一季报。知名基金经理傅鹏博、朱璘、赵枫的一季度调仓路线图...
2023-04-20
美国总统拜登及第一夫人吉尔.拜登18日公布联合纳税申报单,两人申报的2022年收入近58万美元,较2021年...
2023-04-20
1、人们对白居易《长恨歌》的主题思想历来争论不休,有所谓爱情说、政治主题说、双重主题说等等。2、本...
2023-04-20
A股市场上午涨跌互现,沪指小幅下跌。板块方面,传媒娱乐板块大涨,板块内个股掀起涨停潮。TMT赛道整体...
2023-04-20
市场消化主要经济体最新宏观经济数据,18日国际油价微涨。
2023-04-20
欢迎观看本篇文章,小勉来为大家解答以上问题。精忠报国是什么意思,精忠报国的意思很多人还不知道,现...
2023-04-20
财富趋势4月19日公告,本次上市流通的限售股为首次公开发行股票部分限售股,股份数量为6451295万股,占...
2023-04-20
1、所谓七险一金就是指养老保险、医疗保险、失业保险、工伤保险,生育保险、意外伤害保险、企业补充养老...
2023-04-20
1、英达度假村,位于北京市昌平区小汤山镇阿苏卫村南,占地17万平方米。本文关于英达度假村的简介就讲解...
2023-04-20
爱范儿早报导读苹果加入iPhone15Pro动作交互按钮:可充当快门iOS17将为侧载铺路小米13Ultra发布,国产影...
2023-04-20
1、古琴虽只有七根弦,但一弦多音,其音域宽达四个多八度,借助面板上的十三个“琴徵”,可以弹奏出许许...
2023-04-20
获悉事故发生后,多家保险机构快速响应,紧急启动重大突发事件应急预案,主动进行客户排查,开启理赔绿...
2023-04-19
事后,吴女士通过厅长信箱留言:感谢火炬开发区公安分局反诈骗中心,及时快速处理,使卡内的42万元没有...
2023-04-19
宏昌电子:宏昌电子关于发行股份购买资产暨关联交易项目2022年度业绩承诺实现情况、减值测试情况及业绩补...
2023-04-19
4月19日,延庆区无人机科技创新园投用,建设完成的一号厂房交付企业使用,助力无人机企业研发生产、提高...
2023-04-19
截至2022年底我国药品批准文号逾15万个,药品经营企业逾64万家---具体来看,截至2022年底,各省(区、市...
2023-04-19
日前,财政部、教育部、人民银行、银保监会发布通知,为进一步减轻家庭经济困难高校毕业生负担,支持做...
2023-04-19
这将是陈柏良为球队效力的第2个赛季,这位宝岛台湾的头号球星,2012年从台电加盟深圳红钻,此后他在上海...
2023-04-19
重庆荣旅置地有限责任公司以1967万元摘得重庆市荣昌区万灵镇2022-RC-17-04号地块;丰都县佰仕石油销售有...
2023-04-19
人民网北京4月19日电(记者申佳平)4月19日,在国家发展改革委举行的4月份新闻发布会上,国家发展改革委...
2023-04-19
据媒体此前报道,当地时间14日,俄国防部长绍伊古表示,正在对远东地区的太平洋舰队进行突击检查,太平...
2023-04-19
昆明女性阴道炎一直反反复复怎么回事?女性妇科炎症可以称之为妇科病,它包括内分泌紊乱、炎症和肿瘤等。...
2023-04-19
星华新材(301077)04月19日在投资者关系平台上答复了投资者关心的问题。投资者:请问截止4 10股东户数,谢谢星华
2023-04-19
作者:包寒吴霜的个人主页精选文章管理世界|使用文本分析词构建并测量短视主义管理世界|使用经营讨论与分...
2023-04-19
排放标准越来越严格,随着将于4月1日实施的新RDE排放标准的引入,汽车制造商正在更新发动机,而一些汽车...
2023-04-19
主会场上签下两大百亿级项目;作主题发言的跨国企业代表中,来自黄埔的企业最多,纷纷为该区一流营商环...
2023-04-19
第一时间提供各大券商研究所报告,最大程度减少个人投资者与机构之间信息上的差异,使个人投资者更早的...
2023-04-19
1、安卓系统手机:手机关机状态下进入rec模式。2、选择清楚数据就可以了ios系统:手机关机状态下按住hom...
2023-04-19
青海聚焦水环境治理加大涉水公益诉讼案件办理力度,记者4月18日从青海省人民检察院获悉,2022年以来,青...
2023-04-19
智通财经获悉,北森控股(09669)盘中跌超10%,截至发稿,跌11 3%,报14 6港元,成交额327 48万港元。值
2023-04-19
4月15日-19日,有着“中国第一展”之称的第133届广交会一期展会在广州正式举办。本届广交会是新冠疫情以...
2023-04-19
中新经纬4月19日电周三,A股三大股指集体窄幅低开。上证指数跌0 06%,报3391 35点;深证成指跌0 14%...
2023-04-19
南方财经4月19日电,企查查APP显示,近日,深圳冰川私募股权基金管理有限公司成立,注册资本1000万元人...
2023-04-19
我们可以使用点号 来访问对象的属性。例如,如果我们有一个名为name的属性,我们可以使用p1 name来访问它。
2023-04-19
源自中国,经营范围以软膜、化妆棉、洗脸巾、美妆工具以及面部护肤等系列产品为主,功效有美白保湿、滋...
2023-04-19
影片讲述的故事有关“告别”——女孩小满(张子枫饰)拼命辗转于各种运货零工之间帮人打杂,执着于给离...
2023-04-19
扬子晚报网4月19日讯(记者任国勇通讯员鼓公宣陆超颖)“香菇蘑菇金针菇,弹窗提醒别疏忽”走进南京市鼓...
2023-04-19
新华财经北京4月19日电(杨猛) 新华指数工业原材料研究中心数据显
2023-04-19
河南产假2023年新规是什么?据社保网小编了解,接下来跟社保网小编一起来看看吧。一般来说,河南省的妇...
2023-04-19
截至2023年4月18日收盘,新开源(300109)报收于26 48元,上涨2 56%,换手率2 27%,成交量5 95万手,成交额1 55亿元。
2023-04-19
4月18日,河钢股份(000709)融资买入1486 67万元,融资偿还3223 96万元,融资净卖出1737 29万元,融资余额7 32亿元。
2023-04-19
近期,上市房企接连发布大额融资相关公告,融资期限普遍较长,融资利率整体处于低位。业内人士表示,房...
2023-04-19
1、古代如何画嘴霸气的古代女生比温柔美丽的好描画,霸气的古代女生眼腈细长,眉毛粗农,眉峰耸起,嘴唇...
2023-04-19
想观赏泉城广场荷花音乐喷泉的市民游客别跑空!泉城广场荷花音乐喷泉将于2023年4月19日至25日进行全面清...
2023-04-19
——国内首个AI共创创业者社群“Ai山脉”成立会议记文|AI何望海(ChatGPT-3 5 4)全玻璃的落地窗透彻...
2023-04-19
非高峰时间段或周末暂停使用杭州部分地铁扶梯开启新模式近两日,记者对杭州地铁多条线路的站点进行了走...
2023-04-19
对于网络要求不高但可以用这款产品。WiFi6路由器,支持Mesh,但速度是1775Mbps的。京东此款目前活动售价179
2023-04-19
上海10家银行向30家民营企业签约授信1200多亿元---4月18日,中国人民银行上海总部、上海市工商联联合举...
2023-04-19
1、mp3已上传到百度云盘如需要请用非手机方式登录百度知道网页后下载(因网盘容量有限上传内容最多只能...
2023-04-19
北京时间4月19日,NBA季后赛太阳将在主场再战快船
2023-04-19
4月18日,迪尔化工在北交所上市,成为北交所第188只股票。继鼎智科技上市打破新股破发“魔咒”后,迪尔...
2023-04-19
金融界4月18日消息,投资者关注企业财报,日内经济数据及美联储官员讲话,同时中国一季度GDP增速超市场...
2023-04-19
番禺这条富裕村有新搞作,投入300万元打造村1公里中轴线
2023-04-19
1、居谐音是鸡,所以这个动物应该是鸡。2、作者:李商隐出自唐代李商隐的《寄令狐郎中》嵩云秦树久离居...
2023-04-19
目前放票规则:每日可预定当天在内的7日内门票2023年4月23日凌晨1:00起可预定当天在内的7日内门票,采...
2023-04-19
2023年五一期间大连发现王国活动汇总第九届海昌海洋公园公益月活动。4月30日前,大连海昌发现王国面向全...
2023-04-19
1、不宜一起吃的食物:板栗+羊肉板栗是不能和羊肉一起同吃的,因为板栗和羊肉它们两者均属于大热性的食...
2023-04-19
前言:其实是长动态。确实是相对长草期的一天,今天仍旧没有什么重要的饼可以谈。所以随便挑些感兴趣的...
2023-04-19
你们好,最近小品发现有诸多的小伙伴们对于煎饼怎么做好吃又简单小孩子吃,煎饼怎么做这个问题都颇为感...
2023-04-19
你们好,最近小未来发现有诸多的小伙伴们对于感恩教师手抄报作品简介,感恩教师手抄报这个问题都颇为感...
2023-04-19
1、为了配合欧盟的葡萄酒的级别标注形式,法国葡萄酒的级别在20009年10月份左右进行了一次改革。2、改革...
2023-04-19
贷款是现代社会中的一种常见金融行为。在沧州这个经济发展较为繁荣的城市,贷款也成为了许多人的首选。...
2023-04-19
证券时报e公司讯,4月18日,华阳集团旗下全资子公司惠州华阳通用电子有限公司(简称“华阳通用”)与先锋...
2023-04-19
众所周知,在过去两个月的时间内,维金斯一直都因为处理个人事务,而没能代表球队出战任何一场比赛。但...
2023-04-19
4月18日,宜华健康医疗股份有限公司公告称,股票交易异常波动,交易价格连续3个交易日内(4月14日、4月1...
2023-04-18
智通财经APP讯,泰加保险(06161)发布公告,郑宏亮获委任为公司全资附属阿联酋持牌保险公司HimalayasInsu...
2023-04-18
天眼查App显示,近日,因有履行能力而拒不履行生效法律文书确定义务,虎头局关联公司上海万物有样餐饮管...
2023-04-18
一年5倍以上挑战的43天,2023年,4月18日,目前账户300W,本金135W总盈利165W 大家晚上好,我是轩阳,...
2023-04-18
4月6日,河北省科学技术奖励大会在石家庄太行国宾馆召开。华北制药申报的三项科技成果均喜获河北省科学...
2023-04-18
埃隆·马斯克在最新播出的专访节目中表示,他将推出自己的人工智能平台“TruthGPT”,最大限度地寻求真...
2023-04-18
浙江省生态环境厅第一生态环保督察办公室四级调研员赵沛胜涉嫌严重违纪违法,目前正接受浙江省纪委监委...
2023-04-18
00:41纵览客户端4月18日讯(周颖)今天,在河北省医科大学第三医院造血干细胞采集室,来自河北省廊坊市...
2023-04-18
4月18日,为切实提高民营企业金融服务质效,人民银行上海总部与上海市工商业联合会举办“民营企业集中授...
2023-04-18
这种扫把现在已经不多见了,记得小时候,在农村,都是自己在家里做出来的,今天小编想和大家分享的是怎...
2023-04-18
近日,光大银行APP再次升级个人养老金专区,优化线上消费金融服务,拓展数字便民覆盖范围,力求为客户提...
2023-04-18
正义网北京4月18日电据最高人民检察院官方网站消息,辽宁省退役军人事务厅原一级巡视员尹国辉涉嫌贪污、...
2023-04-18
据中国报告大厅对2023年4月18日河南省磷酸二氢钠价格最新走势监测显示:2023年4月18日河南省磷酸二氢钠(工业98
2023-04-18
1、脑栓塞多为心源性脑栓塞。如果发生在年轻人身上,则是风湿性心脏病引起的,而在老年人身上,则是由非...
2023-04-18
大行评级丨大摩:予港交所减持评级,目标价253港元:摩根士丹利发表报告表示,港交所(0388 HK)将于下周...
2023-04-18
光明乳业日前作为上海企业探索数字化转型升级的典型案例登上央视《新闻联播》。“智慧牧场”守护奶源,...
2023-04-18
银川新闻网讯(记者吴春霖)4月17日,“奔跑吧·少年”2023年银川市第十二届青少年篮球锦标赛在银川启威...
2023-04-18
流淌着巧克力喷泉的打卡地标年产2万吨巧克力的现代化工厂穿过可可森林和蓝莓园的小火车……这不是电影《...
2023-04-18Copyright © 2015-2022 中公水产网版权所有 备案号:沪ICP备2022005074号-18 联系邮箱:5855973@qq.com